iSCSI 서버 구성: 리눅스에서 안정적인 스토리지 환경 구축하기

안녕하세요, mj입니다! 오늘은 iSCSI 서버 구성에 대한 완벽 가이드를 소개해 드리겠습니다. 이 가이드를 통해 안정적이고 효율적인 스토리지 환경을 구축하시길 바랍니다.

iSCSI 서버 구성: 완벽 가이드

iSCSI(인터넷 작은 컴퓨터 시스템 인터페이스)는 IP 네트워크를 통해 SCSI 프로토콜을 구현하여 원거리 저장 장치에 접근할 수 있게 해주는 기술입니다. 이 가이드는 리눅스 시스템에서 iSCSI 서버를 구성하는 방법을 단계별로 안내합니다.

1. iSCSI의 장점

iSCSI는 다양한 장점을 제공합니다. 첫째, 기존의 IP 네트워크를 사용할 수 있어 별도의 SAN(Storage Area Network) 구축 비용을 절감할 수 있습니다. 둘째, iSCSI는 스토리지의 확장성을 높이고, 데이터 전송 속도를 개선합니다. 셋째, 관리가 용이하여 서버와 스토리지 간의 연결을 간단하게 설정할 수 있습니다.

2. iSCSI 서버 설치

iSCSI 서버를 설치하기 위해서는 targetcli 또는 tgt와 같은 패키지를 사용할 수 있습니다. Ubuntu 기반의 시스템에서는 다음 명령어로 iSCSI 타겟을 설치할 수 있습니다:

sudo apt update
sudo apt install targetcli

설치가 완료되면, iSCSI 타겟을 설정할 준비가 완료됩니다.

3. iSCSI 타겟 설정

설정 파일을 열고 iSCSI 타겟을 추가합니다. 다음 명령어를 사용하여 iSCSI 타겟을 설정할 수 있습니다:

sudo targetcli

다음으로, iSCSI 타겟을 추가하고 필요한 LUN(Logical Unit Number)을 설정합니다. 타겟 이름은 iqn 형식으로 지정합니다:

/iscsi create iqn.2025-02.com.example:storage
/luns create /backstores/fileio/mydisk.img 1G

위 명령어는 iqn.2025-02.com.example:storage라는 이름의 iSCSI 타겟을 생성하고, 1GB 크기의 LUN을 추가합니다. LUN의 크기와 경로는 필요에 따라 조정할 수 있습니다.

4. 보안 설정

iSCSI는 보안 설정이 중요합니다. CHAP(Challenge Handshake Authentication Protocol) 인증을 설정하여 보안을 강화할 수 있습니다. 다음 명령어로 CHAP 인증을 활성화합니다:

/iscsi/iqn.2025-02.com.example:storage/tpg1/luns/0 set attribute authentication=1

그리고 CHAP 사용자 이름과 비밀번호를 설정합니다:

/iscsi/iqn.2025-02.com.example:storage/tpg1 set attribute auth userid=USERNAME
/iscsi/iqn.2025-02.com.example:storage/tpg1 set attribute auth password=PASSWORD

5. iSCSI 서비스 시작

iSCSI 설정이 완료되면 서비스를 시작해야 합니다. 다음 명령어를 사용하여 iSCSI 서비스를 시작합니다:

sudo systemctl start target

서비스가 정상적으로 실행되고 있는지 확인하려면 다음 명령어를 입력하세요:

sudo systemctl status target

정상적으로 실행 중이라면, 다음과 같은 출력 결과를 확인할 수 있습니다:

● target.service - iSCSI Target
   Loaded: loaded (/lib/systemd/system/target.service; enabled; vendor preset: enabled)
   Active: active (running)

6. 클라이언트에서 iSCSI 타겟 연결

클라이언트에서 iSCSI 타겟에 연결하려면, iSCSI initiator를 설정해야 합니다. Ubuntu에서는 다음 명령어로 iSCSI initiator를 설치할 수 있습니다:

sudo apt install open-iscsi

설치 후, /etc/iscsi/initiatorname.iscsi 파일을 열어 iSCSI initiator 이름을 설정합니다. 이후, 다음 명령어로 iSCSI 타겟에 연결합니다:

sudo iscsiadm -m discovery -t sendtargets -p [타겟 IP 주소]

연결이 성공적으로 이루어지면, 다음과 같은 출력 결과를 확인할 수 있습니다:

10.0.0.1:3260,1 iqn.2025-02.com.example:storage

7. 장애 조치 및 백업

iSCSI 서버를 운영하면서 장애 조치와 백업 설정도 중요합니다. RAID 구성을 통해 데이터 손실을 방지하고, 정기적인 백업을 수행하여 데이터를 안전하게 보호하는 것이 좋습니다. 다음은 RAID 구성 예시입니다:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

RAID 구성이 완료되면, 다음 명령어로 상태를 확인합니다:

cat /proc/mdstat

8. 마무리

iSCSI 서버 구성은 스토리지 관리를 효율적으로 할 수 있는 좋은 방법입니다. 이 가이드를 통해 iSCSI 서버를 성공적으로 설정하고, 안정적인 저장 공간을 확보하시길 바랍니다. 추가적인 질문이 있으시면 언제든지 문의해 주세요!

읽어주셔서 감사합니다! mj였습니다.

댓글

이 블로그의 인기 게시물

006) 컴퓨터 주요 부품 설명: CPU, 메모리, 디스크의 모든 것

011) Rocky Linux 9.5 설치 방법: 단계별 가이드와 설정 팁

001) 리눅스란? 기본 개념부터 활용까지 완벽 가이드