[Linux/๋ฆฌ๋ ์ค] iSCSI ๋ธ๋ก ์คํ ๋ฆฌ์ง
iscsi ์๋น์ค๋ฅผ ์ฌ์ฉํ ๋ธ๋ก์คํ ๋ฆฌ์ง๋ DAS, SAN ์คํ ๋ฆฌ์ง ์ฐ๊ฒฐ๋ฐฉ์์์ ์ฌ์ฉ๋๋ค. DAS ์ฐ๊ฒฐ๋ฐฉ์์ Direct Attached Storage ๋ฐฉ์์ด๊ณ ์คํ ๋ฆฌ์ง๊ฐ ์์คํ ์ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๋ฐฉ์์ด๋ค. SAN ์ฐ๊ฒฐ๋ฐฉ์์ Storage Area Network ๋ฐฉ์์ด๋ฉฐ, ๋คํธ์ํฌ๋ฅผ ์ด์ฉํ๋ ์คํ ๋ฆฌ์ง ์ฐ๊ฒฐ ๋ฐฉ์์ด๋ค. SAN ๋ฐฉ์ ์ค์์๋ FC-SAN, IP-SAN๋ฐฉ์์ด ์๋๋ฐ ๊ทธ์ค์์ IP-SAN ๋ฐฉ์์ ํด๋นํ๋ ๊ฒ์ด iSCSI ๋ธ๋ก ์คํ ๋ฆฌ์ง์ด๋ค.
๋ธ๋ก ์คํ ๋ฆฌ์ง๋ฅผ ๊ณต์ ํ ์๋ฒ์์ ํ๊ฒ ์ค์ ํ๊ธฐ
์ฐ์ targetcli ํจํค์ง๋ฅผ ์ค์นํ๋ค.
yum install targetcli
target ์๋น์ค๋ฅผ ํ์ฑํํ๋ค.
systemctl start target
systemctl enable target
targetcli ๋ฅผ ์คํํ๋ค.
targetcli
ls ๋ช ๋ น์ด๋ฅผ ์น๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ผ๋๋ ํ ๋ฆฌ ํ์์ ๋ณผ ์ ์๋ค.
block์ ์์ฑํ๋ค. name์๋ ์์ฑํ ๋ธ๋ก์ ์ด๋ฆ์ ์ง์ ํ๋ค. dev=์๋ block ์ฅ์น๋ก ์ฌ์ฉํ ๋์คํฌ ๋๋ ํํฐ์ ์ ์ด๋ฆ์ด๋ค. ๋ ผ๋ฆฌ๋ณผ๋ฅจ ๋ํ ๋ธ๋ก์ผ๋ก ์ค์ ํด์ค ์ ์๋ค.
/backstores/block create name=test_block dev=/dev/sdb
๋ค์์ผ๋ก iSCSI ์ฐ๊ฒฐ์ ์ค์ ํ๋ค. ๋จผ์ IQN ์ฃผ์๋ฅผ ์ค์ ํ๋ค.
/iscsi create wwn=iqn.2023-01.kr.co.minjee:target
๊ธฐ๋ณธ์ ์ผ๋ก ์์ ๊ฐ์ด IQN ์ฃผ์๋ iqn.์๋น์ค์ค์ ์๊ธฐ.host์ด๋ฆ:keyword ํ์์ ์ฌ์ฉํ๊ณ ์๋ค. IQN์ ์์ฑํ๋ฉด TPG ๊ฐ ์๋์ผ๋ก ๋ง๋ค์ด ์ง๋ค. ๋ ์ง ํ์์์ . ๋ถ์ด๋ฉด ์ด์ํ๊ฒ ์ธ์ํ๋ฏ๋ก 2023-01 ์ด๋ฐ์์ผ๋ก ์์ฑํด์ผ ํ๋ค.
ACL ์ค์ ์ ํด์ค๋ค.
/iscsi/iqn.2023.01.kr.co.minjee:target/tpg1/acls create www=iqn.2023-01.kr.co.minjee:client
www= ๋ค์ ์ค๋ ๊ฒ์ ํด๋ผ์ด์ธํธ์ iqn ์ฃผ์์ด๋ค. ์ฌ๊ธฐ์ ์ค์ ํ๋๋ก ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ iqn ์ฃผ์๋ฅผ ๋ฐ๊พธ๊ฑฐ๋, ํด๋ผ์ด์ธํธ์ iqn ์ฃผ์๋ฅผ ์ฌ๊ธฐ์ ์จ์ค๋ค. ์ฆ ์๋ฒ์์ ์ง์ ํ iqn ์ฃผ์๊ฐ ์ค์ ํด๋ผ์ด์ธํธ์ iqn ์ฃผ์์ ๋์ผํด์ผ ํ๋ค!!
LUN ์ค์ ์ ํด์ผ ์์์ ์์ฑํ ๋ธ๋ก์ ๋งคํํ ์ ์๋ค. ๋ํ lun=๋ค์๋ ์์ฑ๋๋ lun์ ์ด๋ฆ์ ์ง์ ํ ์ ์๋ค.
/iscsi/iqn.2023-01.kr.co.minjee:target/tpg1/luns create storage_object=/backstores/block/test_block lun=lun0
Portal ์ค์ ์ ํด์ ip ์ฃผ์์ ํฌํธ๋ฒํธ์ ๋ํด ์ค์ ํ๋ค. ip ์ฃผ์๋ ํธ์คํธ์ ip ์ฃผ์๋ฅผ ์จ์ฃผ๋ฉด ๋๋๋ฐ 0.0.0.0์ผ๋ก ์ค์ ํด์ ๋ชจ๋ ํธ์คํธ๋ฅผ ํ์ฉํ๋ค. ๋ํ ํฌํธ๋ฒํธ๋ฅผ ๋ฐ๋ก ์ง์ ํ์ง ์๋๋ค๋ฉด default ํฌํธ๋ฒํธ๋ 3260์ด ๋๋ค. ์ฆ ์ด ๊ฒฝ์ฐ 0.0.0.0:3260์ด ๋๋ค.
/iscsi/iqn.2023-01.kr.co.minjee:target/tpg1/portals create 0.0.0.0
๋ง์ง๋ง์ผ๋ก ์์คํ ์ ๋ฐฉํ๋ฒฝ ์ค์ ์ ํ๋ค.
firewall-cmd --add-service=iscsi-target
firewall-cmd --add-service=iscsi-target --permanent
์ด์ ํ๊ฒ ์ค์ ์ ์๋ฃํ์ผ๋ ์๋น์ค ์ด๊ธฐ์์ ์ ์ฅ์์ ์ฐ๊ฒฐ์ ํ๋ฉด ๋๋ค.
iSCSI ์๋น์ค ์ฐ๊ฒฐํ๊ธฐ
yum install iscsi-initiator-utils
yum ์ ์ด์ฉํด์ ํจํค์ง๋ฅผ ์ค์นํด์ค๋ค.
์ด๊ธฐ์ (ํด๋ผ์ด์ธํธ)์ iqn ์ค์ ์ ์๋ฒ์์ ํ์ฉํ iqn๋๋ก ์ค์ ํด์ค๋ค. (ํน์ ๊ทธ ๋ฐ๋๋ ๊ฐ๋ฅํ๋ค)
/etc/iscsi/initiatorname.iscsi ํ์ผ์์ ์ค์ ํ ์ ์๋ค.
vi /etc/iscsi/initiatorname.iscsi
๊ฐ์ฅ ๋จผ์ ๊ฒ์์ ํด์ผ ํ๋ค!!
iscsiadm -m discovery -t st -p 192.168.56.102
-m ์ ๋์ ๋ชจ๋๋ฅผ ์ง์ ํ๋ ์ต์ ์ด๋ฉฐ ํ์ฌ discovery ๋ชจ๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. st ๋ sendtarget ์ด๊ณ -p ๋ ํ๊ฒ์ portal ์ด๋ค.
๊ฒ์์ ํ์ฌ ๋ฐ๊ฒฌํ ipn์ ์ด์ฉํ์ฌ ๋ก๊ทธ์ธ์ ํ๋ค. ๋ก๊ทธ์ธ์ -l ์ต์ ์ด๋ค.
iscsiadm -m node -T iqn.2023-01.kr.co.minjee:target -l
์ฐ๊ฒฐ์ด ๋์๋์ง ํ์ธํ๊ธฐ ์ํด์ ์ธ์ ์ ํ์ธํ๋ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
iscsiadm -m session -P 3
-P 3 ์ผ๋ก ํ ์ด์ ๋ ์ฅ์น ์ด๋ฆ๊น์ง ์๊ธฐ ์ํด์์ด๋ค. ์ด๋ ์ธ์ ํ์ธ์ ๋ฑ๊ธ์ด๋ฉฐ 0,1,2,3 ๋ฑ๊ธ์ด ์๋ค.
iSCSI ์๋น์ค ์ฐ๊ฒฐํด์ ํ๊ธฐ
๋จ์ํ๊ฒ ์ฐ๊ฒฐ์ ํด์ ํ๋ ค๋ฉด ๋ก๊ทธ์์์ ํ๋ค. -u ์ต์ ์ด๋ค.
iscsiadm -m -node -T iqn.2023-01.kr.co.minjee:target -u
์์ ํ๊ฒ ํด์ ํ๊ณ ์ถ๋ค๋ฉด ๋ ธ๋๋ฅผ ์ญ์ ํ๋ฉด ๋๋ค. -o ์ต์ ์ ์ด์ฉํ๋ค.
iscsiadm -m node -T iqn.2023-01.kr.co.minjee:target -o
์คํ ๋ฆฌ์ง๊ฐ ์ ๋๋ก ๊ณต์ ๊ฐ ๋์๋์ง ํ์ธํด๋ณด๊ณ ์ถ๋ค๋ฉด lsblk ๋ช ๋ น์ด๋ฅผ ํตํด ๋ณผ ์ ์๋ค.
๋์ ๊ฒฝ์ฐ sdb, sdc, sdd ๊ฐ ํ์ฌ ๊ณต์ ์คํ ๋ฆฌ์ง์ด๋ค. (server์์ sdb๋ ํ๋๋์คํฌ, sdc sdd๋ ๋ ผ๋ฆฌ๋ณผ๋ฅจ์ด์๋๋ฐ client์ ์ ์ฅ์์๋ ๋ชจ๋ ํ๋๋์คํฌ๋ก ๋ณด์ด๊ฒ ๋๋ค)