iSCSI Target 서버 만들기, 리눅스를 이용한, Ubuntu Server 18.04 LTS
Ubuntu Server 18.04 LTS를 이용한 iSCSI Target 서버 만들기
학교의 공용 PC실이나 PC방과 같은 시설은 PC의 수가 많고 모든 PC가 동일한 소프트웨어를 가지는 것이 대부분이다. 이러한 경우, 각 PC에서 갖추어야 할 물리적인 소프트웨어 저장장치를 서버에서 제공하는 가상의 저장장치로 대신하고 있다. 크게 노하드 시스템과 VOG 시스템으로 알려져 있고, diskless system의 명칭이 올바른 표현이다. 노하드 시스템은 운영체제를 포함하여 보통의 PC가 가지는 모든 저장장치 부분을 서버에서 제공하는 방식이고, VOG 시스템은 운영체제는 각 PC의 저장장치가 가지고 그 이외의 소프트웨어들은 서버로부터 제공받는 방식이다. 이러한 방식들은 모두 iSCSI(Internet Small Computer System Interface)에 기반하여 구현된다.
iSCSI는 PC의 저장장치를 연결해주는 IP 기반의 스토리지 네트워킹 표준이다. 단 하나의 iSCSI Target 서버에서 저장장치 하나를 관리하고 해당 저장장치의 이미지를 클라이언트 PC에 제공하여 각 PC들은 자신이 보유한 저장장치로 인식하는 것이다. iSCSI 서버는 제공할 저장장치의 이미지를 스냅샷하여 특정 시점의 저장장치 상태를 클라이언트 PC들에게 제공한다. 스냅샷 시점을 기준으로 서버 또는 클라이언트 PC들에 의해 변경된 사항들이 기록되고, 새로운 스냅샷이 생성되면 변경된 기록사항이 모두 제거된다. 즉 새로운 스냅샷을 생성하면, 서버의 상태를 그대로 가지기 때문에 다수의 PC가 관리되어야 하는 PC방 환경에 매우 적합하다. 예를 들어, 새로운 소프트웨어 또는 게임을 설치해야 한다면, 서버에서 단 한번 설치로 모든 클라이언트 PC에 설치된 것과 같은 효과를 얻는 것이다. 또한, PC 이용자들에 의해 변경된 사항과 바이러스 등도 스냅샷 생성에 의해 즉시 제거되는 장점이 있다.
iSCSI Target 서버를 이용하면 각 클라이언트 PC가 가져야하는 저장장치의 용량 및 수를 줄여주어 경제적 이점과 다수의 PC 관리를 용이하게 하여 PC 관리자에게 많은 도움이된다. 보통의 PC방 업주들도 조금만 경험하면 쉽게 구현할 수 있을 것으로 판단된다.
여기서는 iSCSI Target 서버를 만들고, 운영하는 방법에 대하여 필자가 공부하고 수년간 경험한 것들을 아래와 같은 차례로 하여 기록한다.
목차,
1. Ubuntu Server 18.04 LTS 설치
1-3 Subiquity 인스톨러가 탑재된 이미지로부터 설치하기
1-5 Subiquity 인스톨러, 고정 IP 설정하기
2. iSCSI Target
이하 작성 진행 중, 언제 할지...
3. iSCSI initiator
3-1 윈도우 iSCSI initiator
3-2 iSCSI Target 접속 스크립트
3-3 드라이브 명 자동 설정하기
4. iSCSI Target 서버 운영 방법
4-1 btrfs subvolume 갱신
4-2 crontab 이용한 subvolume 관리
4-3
5. ...
References,
[1] The iSCSI Enterprise Target Project, http://iscsitarget.sourceforge.net/
[2] tgt project, http://stgt.sourceforge.net/
[3] Linux-iSCSI Project, http://linux-iscsi.sourceforge.net/
[4] tgtadm - Linux SCSI Target Administration Utility,
http://manpages.ubuntu.com/manpages/bionic/man8/tgtadm.8.html#name
[5] tgt-admin - Linux SCSI Target Configuration Tool,
http://manpages.ubuntu.com/manpages/bionic/man8/tgt-admin.8.html
[6] btrfs - a toolbox to manage btrfs filesystems,
http://manpages.ubuntu.com/manpages/bionic/en/man8/btrfs.8.html