안녕하세요. 썬구루입니다. 이 게시물에서 CentOS 6.6 리눅스를 iSCSI Initiator으로 구성 방법에 대해 간단하게 알아보도록 하겠습니다.
이전 게시물에서 CentOS 6.6 리눅스를 가지고 iSCSI Target 을 구성하는 방법에 대해 알아보았습니다. 20GB 용량의 /dev/sdb, /dev/sdc를 iSCSI 디바이스로 구성하였죠. 그럼 이 iSCSI 디바이스를 잡아 사용할 수 있도록 리눅스, 윈도우 서버, 솔라리스를 iSCSI initiator로 구성해보도록 하겠습니다. 요즘 나오는 서버 운영체제는 iSCSI Initiator를 지원합니다.
■ iSCSI Initiator IP 주소
iSCSI Initiator 테스트를 위한 가상머신 환경은 아래와 같습니다.
가상머신
|
IP 주소
|
리눅스
|
192.168.80.182 |
윈도우서버
|
192.168.80.183 |
솔라리스
|
192.168.80.184 |
■ CentOS 6.6 리눅스를 iSCSI Initiator로 구성
iSCSI Initiator로 사용할 가상머신을 생성한 후 CentOS 6.6을 설치합니다. 기존 가상머신 복제를 하셔도 됩니다. CentOS 6.6 DVD 1번 ISO 파일을 가상머신에 연결한 후 아래와 같은 명령을 사용하여 iSCSI Initiator 패키지를 설치합니다.
[root@iscsi02 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:7B:A1:FC inet addr:192.168.80.182 Bcast:192.168.80.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe7b:a1fc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:58 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14566 (14.2 KiB) TX bytes:2455 (2.3 KiB) [root@iscsi02 ~]# lsblk | grep disk sda 8:0 0 20G 0 disk [root@iscsi02 ~]# [root@iscsi02 ~]# cd /media/CentOS_6.6_Final/Packages/ [root@iscsi02 Packages]# rpm -ivh iscsi-initiator-utils-6.2.0.873-13.el6.x86_64.rpm warning: iscsi-initiator-utils-6.2.0.873-13.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:iscsi-initiator-utils ########################################### [100%] [root@iscsi02 Packages]# |
그리고 아래와 같은 명령을 실행하여 iSCSI Target의 디바이스를 확인합니다. 그러면 IQN 주소로 내용이 출력됩니다.
[root@iscsi02 Packages]# iscsiadm -m discovery -t sendtargets -p 192.168.80.181
Starting iscsid: [ OK ] 192.168.80.181:3260,1 iqn.iscsi01.localdcv.com:server.target1 [root@iscsi02 Packages]# [root@iscsi02 Packages]# chkconfig iscsid --list iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off [root@iscsi02 Packages]# |
아래와 같은 명령을 사용하여 iSCSI Target 을 연결합니다. 그리고 연결된 iSCSI 디바이스를 확인합니다.
[root@iscsi02 Packages]# iscsiadm -m node -T iqn.iscsi01.localdcv.com:server.target1 --login
Logging in to [iface: default, target: iqn.iscsi01.localdcv.com:server.target1, portal: 192.168.80.181,3260] (multiple) Login to [iface: default, target: iqn.iscsi01.localdcv.com:server.target1, portal: 192.168.80.181,3260] successful. [root@iscsi02 Packages]# lsblk | grep disk sda 8:0 0 20G 0 disk sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk [root@iscsi02 Packages]# |
아래와 같이 명령을 사용하여 /dev/sdb iSCSI 디바이스에 EXT 파일시스템을 생성 후 마운트 해봅니다.
[root@iscsi02 Packages]# iscsiadm -m node -T iqn.iscsi01.localdcv.com:server.target1 --login
Logging in to [iface: default, target: iqn.iscsi01.localdcv.com:server.target1, portal: 192.168.80.181,3260] (multiple) Login to [iface: default, target: iqn.iscsi01.localdcv.com:server.target1, portal: 192.168.80.181,3260] successful. [root@iscsi02 Packages]# lsblk | grep disk sda 8:0 0 20G 0 disk sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk [root@iscsi02 Packages]# [root@iscsi02 Packages]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created [root@iscsi02 Packages]# [root@iscsi02 Packages]# vgcreate testvg /dev/sdb Volume group "testvg" successfully created [root@iscsi02 Packages]# [root@iscsi02 Packages]# lvcreate -L 5g -n test testvg Logical volume "test" created [root@iscsi02 Packages]# lvscan ACTIVE '/dev/testvg/test' [5.00 GiB] inherit ACTIVE '/dev/vg_os/root' [15.80 GiB] inherit ACTIVE '/dev/vg_os/swap' [4.00 GiB] inherit [root@iscsi02 Packages]# [root@iscsi02 Packages]# mkfs -t ext4 /dev/testvg/test mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 327680 inodes, 1310720 blocks 65536 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1342177280 40 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@iscsi02 Packages]# [root@iscsi02 Packages]# mkdir /test [root@iscsi02 Packages]# [root@iscsi02 Packages]# mount /dev/testvg/test /test [root@iscsi02 Packages]# df -h /test Filesystem Size Used Avail Use% Mounted on /dev/mapper/testvg-test 4.8G 10M 4.6G 1% /test [root@iscsi02 Packages]# [root@iscsi02 Packages]# pvscan PV /dev/sdb VG testvg lvm2 [20.00 GiB / 15.00 GiB free] PV /dev/sda2 VG vg_os lvm2 [19.80 GiB / 0 free] Total: 2 [39.80 GiB] / in use: 2 [39.80 GiB] / in no VG: 0 [0 ] [root@iscsi02 Packages]# |
아래와 같은 명령을 사용하여 iSCSI 디바이스 연결을 끊습니다.
[root@iscsi02 Packages]# umount /test
[root@iscsi02 Packages]# iscsiadm -m node -T iqn.iscsi01.localdcv.com:server.target1 --logout Logging out of session [sid: 1, target: iqn.iscsi01.localdcv.com:server.target1, portal: 192.168.80.181,3260] Logout of [sid: 1, target: iqn.iscsi01.localdcv.com:server.target1, portal: 192.168.80.181,3260] successful. [root@iscsi02 Packages]# [root@iscsi02 Packages]# lsblk | grep disk sda 8:0 0 20G 0 disk [root@iscsi02 Packages]# |
■ Windows Server 2008 R2을 iSCSI Initiator로 구성
Windows Server 2008 R2 평가판은 아래와 같은 사이트에서 다운로드할 수 있습니다. Windows Server 2008 R2 평가판을 설치한 수 IP 주소를 설정합니다. 그리고 제어판을 실행하여 아래와 같이 iSCSI initiator 관련 내용을 찾습니다. 그리고 iSCSI Initiator를 실행합니다. 그러면 아래와 같은 화면이 나타납니다.
아래 그림과 같이 Target 부분에 iSCSI Target IP 주소인 192.168.80.181을 입력한 후 Quick Connect 버튼을 선택합니다.
설정이 완료되면 아래와 같이 연결된 내용을 확인할 수 있습니다.
작업표시줄에 있는 서버 관리자 (Server Manager)를 실행한 후 Storage > Disk Management를 선택하면 iSCSI 디바이스가 연결, 인식되어 있는 것을 확인할 수 있습니다.
새 볼륨을 추가, NTFS 파일시스템을 생성한 후 E:\ 드라이브에 연결해봅니다. 이제 iSCSI 디바이스에 생성된 NTFS 파일시스템 위에 파일을 저장할 수 있습니다.
Windows Server 2008 R2에 대한 iSCSI Initiator 테스트를 종료하기 위해 제어판에서 iSCSI Initiator를 실행한 후 아래 그림과 같이 Discovery 탭(Tab)에서 Remove 버튼을 선택합니다.
그러면 관련된 정보는 사라지고 iSCSI 디바이스 연결은 끊어집니다.
■ Solaris 10을 iSCSI Initiator로 구성
Solaris 10은 아래와 같은 웹사이트에서 다운로드할 수 있습니다.
http://www.oracle.com/technetwork/server-storage/solaris10/downloads/index.html
아래와 같은 명령을 사용하여 iSCSI Target과 연결합니다. 연결하기 전 format 명령을 사용하면 c1t0d0 디스크 하나만 보이는 것을 확인할 수 있습니다.
-bash-3.00# iscsiadm modify discovery --sendtargets enable
-bash-3.00# -bash-3.00# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c1t0d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63> /pci@0,0/pci15ad,1976@10/sd@0,0 Specify disk (enter its number): ^D -bash-3.00# -bash-3.00# iscsiadm add discovery-address 192.168.80.181 -bash-3.00# |
iSCSI Target과 연결 후 아래와 같이 format 명령을 사용하면 iSCSI 디바이스가 연결된 것을 확인할 수 있다. format 명령을 사용하여 파티션 분할 후 newfs 명령으로 UFS 파일시스템을 만들어 아래와 같이 /test 디렉터리에 연결해봅니다.
-bash-3.00# format
Searching for disks... The device does not support mode page 3 or page 4, or the reported geometry info is invalid. WARNING: Disk geometry is based on capacity data. The current rpm value 0 is invalid, adjusting it to 3600 The device does not support mode page 3 or page 4, or the reported geometry info is invalid. WARNING: Disk geometry is based on capacity data. The current rpm value 0 is invalid, adjusting it to 3600 done c2t2d0: configured with capacity of 19.98GB c2t3d0: configured with capacity of 19.98GB AVAILABLE DISK SELECTIONS: 0. c1t0d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63> /pci@0,0/pci15ad,1976@10/sd@0,0 1. c2t2d0 <IET-VIRTUAL-DISK-0001 cyl 2608 alt 2 hd 255 sec 63> /iscsi/disk@0000iqn.iscsi01.localdcv.com%3Aserver.target10001,1 2. c2t3d0 <IET-VIRTUAL-DISK-0001 cyl 2608 alt 2 hd 255 sec 63> /iscsi/disk@0000iqn.iscsi01.localdcv.com%3Aserver.target10001,2 Specify disk (enter its number): 1 selecting c2t2d0 [disk formatted] Disk not labeled. Label it now? y Warning: error setting drive geometry. Warning: error writing VTOC. Warning: no backup labels Write label failed FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk fdisk - run the fdisk program repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character volume name !<cmd> - execute <cmd>, then return quit format> fdisk No fdisk table exists. The default partition for the disk is: a 100% "SOLARIS System" partition Type "y" to accept the default partition, otherwise type "n" to edit the partition table. y format> p PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk !<cmd> - execute <cmd>, then return quit partition> 0 Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 Enter partition id tag[unassigned]: Enter partition permission flags[wm]: Enter new starting cyl[0]: Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: $ partition> print Current partition table (unnamed): Total disk cylinders available: 2607 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 - 2606 19.97GB (2607/0/0) 41881455 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 2606 19.97GB (2607/0/0) 41881455 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 8 boot wu 0 - 0 7.84MB (1/0/0) 16065 9 unassigned wm 0 0 (0/0/0) 0 partition> label Ready to label disk, continue? y partition> quit FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk fdisk - run the fdisk program repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character volume name !<cmd> - execute <cmd>, then return quit format> quit -bash-3.00# newfs /dev/rdsk/c2t2d0s0 newfs: construct a new file system /dev/rdsk/c2t2d0s0: (y/n)? -bash-3.00# newfs /dev/rdsk/c2t2d0s0 newfs: construct a new file system /dev/rdsk/c2t2d0s0: (y/n)? y Warning: inode blocks/cyl group (431) >= data blocks (246) in last cylinder group. This implies 3950 sector(s) cannot be allocated. /dev/rdsk/c2t2d0s0: 41877504 sectors in 6816 cylinders of 48 tracks, 128 sectors 20448.0MB in 426 cyl groups (16 c/g, 48.00MB/g, 5824 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920, Initializing cylinder groups: ........ super-block backups for last 10 cylinder groups at: 40898592, 40997024, 41095456, 41193888, 41292320, 41390752, 41489184, 41587616, 41686048, 41784480 -bash-3.00# -bash-3.00# mkdir /test -bash-3.00# -bash-3.00# mount /dev/dsk/c2t2d0s0 /test -bash-3.00# df -hF ufs Filesystem size used avail capacity Mounted on /dev/dsk/c1t0d0s0 16G 3.8G 12G 25% / /dev/dsk/c2t2d0s0 20G 20M 19G 1% /test -bash-3.00# |
아래와 같은 명령을 사용하여 iSCSI Target과 연결을 끊습니다. 그리고 format 명령을 사용하면 iSCSI 디바이스 연결도 끊어진 것을 확인할 수 있습니다.
-bash-3.00# umount /test
-bash-3.00# -bash-3.00# df -hF ufs Filesystem size used avail capacity Mounted on /dev/dsk/c1t0d0s0 16G 3.8G 12G 25% / -bash-3.00# -bash-3.00# iscsiadm list discovery-address 192.168.80.181 Discovery Address: 192.168.80.181:3260 -bash-3.00# -bash-3.00# iscsiadm remove discovery-address 192.168.80.181 -bash-3.00# -bash-3.00# iscsiadm list discovery-address 192.168.80.181 192.168.80.181: not found -bash-3.00# -bash-3.00# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c1t0d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63> /pci@0,0/pci15ad,1976@10/sd@0,0 Specify disk (enter its number): ^D -bash-3.00# |
이 게시물에서 iSCSI 서비스를 통해 Raw Device를 공유할 수 있다는 것을 알았습니다. NAS 디스크 스토리지의 기능을 사용하여 iSCSI를 현업에서 사용하고 있습니다. 우리는 비싼 스토리지를 사용할 수 없기 때문에 CentOS 6.6 리눅스를 가지고 구현한 것이고요. ^^
다음 게시물에서 Backup Tape Drive와 Changer를 iSCSi 디바이스로 사용하는 방법에 대해 간단히 알아보도록 하겠습니다.
No comments:
Post a Comment