안녕하세요. 썬구루입니다. 이 게시물에서는 CentOS 6.6 리눅스를 iSCSI Target으로 구성 방법에 대해 간단하게 알아보도록 하겠습니다.
디스크 스토리지 연결 방식은 DAS, NAS, SAN으로 나누어지는데 여기서 요즘 NAS 디스크 스토리지는 NFS, CIFS, iSCSI를 지원합니다. NFS나 CIFS는 이미 앞에서 언급하고 구성해보았기 때문에 기억하고 있을 것이라 생각됩니다. 이는 스토리지에서 지원하는 파일시스템을 사용하는 것이죠.
저희가 CentOS 6.6을 사용했었고 그 기반에 NFS 서버와 Samba 서버를 구성한 것이기 때문에 CentOS 6.6의 EXT 파일시스템을 사용한 것입니다. iSCSI는 Internet SCSI(Smail Computer System Interface)를 나타내며 SCSI 프로토콜을 IP 패킷에 실어 전달할 수 있는 다시 말해 IP 기반 스토리지 네트워킹 기술을 사용할 수 있도록 해주는 기술입니다.
이는 이미 파일시스템이 만들어진 파일시스템 공유가 아닌 Raw Device를 네트워크를 통해 공유할 수 있도록 만들어주는 기술입니다.
서버의 하드 디스크, 테이프 드라이브, 로봇 디바이스 등을 iSCSI를 통해 다른 서버로 공유해줄 수 있는 것입니다. 만약 iSCSI를 통해 공유 받은 하드디스크를 리눅스(Linux)가 사용한다면 EXT 파일시스템을 만들어 사용할 수 있고 윈도우(Windows)가 사용한다면 NTFS, 솔라리스(Solaris)가 사용한다면 UFS 또는 ZFS 파일시스템을 만들어 사용할 수 있습니다. 왜? Raw Device를 공유하는 것이기 때문입니다.
그래서 여러분들은 VMware Workstation 환경에서 아래와 같은 공유 디바이스(또는 파일시스템)를 만들어 사용할 수 있습니다.
▶ NFS
▶ CIFS
▶ Shared SCSI
▶ iSCSI
▶ Tape drive
▶ Changer (Tape Library Robot)
이러한 공유 디바이스(또는 파일시스템)을 가지고 아래와 같은 서비스를 테스트할 수 있습니다.
▶ WEB/WAS 이중화
▶ 클러스터 파일시스템 (Cluster Filesystem)
▶ 클러스터 서버 (Cluster Server)
▶ 서버 가상화 (Server Virtualization)
▶ 데스크탑 가상화 (Desktop Virtualization)
▶ 클라우드 서비스 (Cloud Service)
▶ Oracle RAC
▶ 백업 솔루션 (Veritas NetBackup, Dell NetVault, Legato Networker)
어잇~!!! iSCSI 설명하다가 배가 산으로 갔군요. CentOS 6.6 리눅스를 가지고 간단하게 iSCSI Targer으로 구성해보도록 하겠습니다. iSCSI에서는 서버를 iSCSI Target, 클라이언트를 iSCSI Initiator라 합니다.
■ CentOS 6.6 리눅스에 iSCSI Target 패키지 설치
iSCSI Target 테스트를 위한 가상머신 환경은 아래와 같습니다.
사 양
|
내 용
|
CPU
|
1 CPU / 2 Cores |
MEM
|
2GB |
HDD
|
20GB /dev/sda 운영체제 20GB /dev/sdb iSCSI 디바이스 20GB /dev/sdc iSCSI 디바이스 |
NIC
|
1Gbps |
OS
|
CentOS 6.6 |
iSCSI Target을 구성하기 위해 아래와 같은 패키지가 CentOS 6.6에 설치되어야 합니다.
libibverbs-1.1.8-3.el6.x86_64.rpm
librdmacm-1.0.18.1-1.el6.x86_64.rpm perl-Config-General-2.52-1.el6.noarch.rpm rdma-6.6_3.15-1.el6.noarch.rpm sg3_utils-1.28-6.el6.x86_64.rpm scsi-target-utils-1.0.24-16.el6.x86_64.rpm |
iSCSI Target으로 구성할 가상머신에 CentOS 6.6 1번 DVD ISO 파일을 연결하고 아래와 같은 명령을 사용하여 관련 패키지를 설치합니다.
[root@iscsi01 ~]# cd /media/CentOS_6.6_Final/Packages/
[root@iscsi01 Packages]# [root@iscsi01 Packages]# rpm -ivh libibverbs-1.1.8-3.el6.x86_64.rpm warning: libibverbs-1.1.8-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:libibverbs ########################################### [100%] [root@iscsi01 Packages]# [root@iscsi01 Packages]# rpm -ivh librdmacm-1.0.18.1-1.el6.x86_64.rpm warning: librdmacm-1.0.18.1-1.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:librdmacm ########################################### [100%] [root@iscsi01 Packages]# [root@iscsi01 Packages]# rpm -ivh perl-Config-General-2.52-1.el6.noarch.rpm warning: perl-Config-General-2.52-1.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:perl-Config-General ########################################### [100%] [root@iscsi01 Packages]# [root@iscsi01 Packages]# rpm -ivh rdma-6.6_3.15-1.el6.noarch.rpm warning: rdma-6.6_3.15-1.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:rdma ########################################### [100%] [root@iscsi01 Packages]# [root@iscsi01 Packages]# rpm -ivh sg3_utils-1.28-6.el6.x86_64.rpm warning: sg3_utils-1.28-6.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:sg3_utils ########################################### [100%] [root@iscsi01 Packages]# [root@iscsi01 Packages]# rpm -ivh scsi-target-utils-1.0.24-16.el6.x86_64.rpm warning: scsi-target-utils-1.0.24-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:scsi-target-utils ########################################### [100%] [root@iscsi01 Packages]# [root@iscsi01 Packages]# service tgtd status tgtd is stopped [root@iscsi01 Packages]# [root@iscsi01 Packages]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 200M 0 part /boot └─sda2 8:2 0 19.8G 0 part ├─vg_os-root (dm-0) 253:0 0 15.8G 0 lvm / └─vg_os-swap (dm-1) 253:1 0 4G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk sr0 11:0 1 4.3G 0 rom /media/CentOS_6.6_Final [root@iscsi01 Packages]# |
■ iSCSI Target 디바이스 구성
/etc/tgt/targets.conf 파일의 제일 아래에 아래와 같은 내용을 추가하였습니다.
[root@iscsi01 Packages]# tail /etc/tgt/targets.conf
<target iqn.iscsi01.localdcv.com:server.target1> backing-store /dev/sdb backing-store /dev/sdc </target> [root@iscsi01 Packages]# |
■ iSCSI Target 추가 설정
아래와 같이 SELinux 설정을 permissive로 그리고 iSCSI 서비스 포트 3260을 iptables 방화벽에서 열어줍니다.
[root@iscsi01 Packages]# setenforce permissive
[root@iscsi01 Packages]# [root@iscsi01 Packages]# vi /etc/sysconfig/selinux SELINUX=permissive [root@iscsi01 Packages]# [root@iscsi01 Packages]# iptables -I INPUT -p tcp -m tcp --dport 3260 -j ACCEPT [root@iscsi01 Packages]# [root@iscsi01 Packages]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] [root@iscsi01 Packages]# |
■ iSCSI Target 서비스 시작
아래와 같이 service 명령을 사용하여 iSCSI Target 서비스인 tgtd를 시작시킵니다. 그리고 tgt-admin 명령으로 iSCSI Target 디바이스를 확인합니다.
[root@iscsi01 Packages]# service tgtd start
Starting SCSI target daemon: [ OK ] [root@iscsi01 Packages]# [root@iscsi01 Packages]# chkconfig tgtd on [root@iscsi01 Packages]# [root@iscsi01 Packages]# tgt-admin -s Target 1: iqn.iscsi01.localdcv.com:server.target1 System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB, Block size: 1 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: null Backing store path: None Backing store flags: LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 21475 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/sdb Backing store flags: LUN: 2 Type: disk SCSI ID: IET 00010002 SCSI SN: beaf12 Size: 21475 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/sdc Backing store flags: Account information: ACL information: ALL [root@iscsi01 Packages]# |
여기까지 iSCSI Target 간단 구성에 대해 알아보았습니다. 다음 게시물에서 리눅스, 윈도우 서버, 솔라리스를 가지고 iSCSI Initiator를 만들어보도록 하겠습니다.
No comments:
Post a Comment