CentOS7에서 targetcli를 사용하여 iSCSI lun을 확장하는 방법은 무엇입니까?

CentOS7에서 targetcli를 사용하여 iSCSI lun을 확장하는 방법은 무엇입니까?

iSCSI가 구성된 CentOS 7 시스템이 있습니다. 아래 targetcli의 ls 출력을 참조하세요. iSCSI 클라이언트가 392.2GB 대신 총 869.16GB를 볼 수 있도록 disk02를 lun0에 추가하고 싶습니다.

질문: lun0이 disk0과 disk1의 결합된 용량을 사용하도록 할 수 있습니까? 그렇다면 CentOS7에서 targetcli를 사용하여 이를 수행하는 방법은 무엇입니까?

/> ls
o- / ....................................................................................................... [...]
  o- backstores ............................................................................................ [...]
  | o- block ................................................................................ [Storage Objects: 2]
  | | o- disk01 ...................................................... [/dev/sdb4 (392.2GiB) write-thru activated]
  | | o- disk02 ..................................................... [/dev/sda (476.9GiB) write-thru deactivated]
  | o- fileio ............................................................................... [Storage Objects: 0]
  | o- pscsi ................................................................................ [Storage Objects: 0]
  | o- ramdisk .............................................................................. [Storage Objects: 0]
  o- iscsi .......................................................................................... [Targets: 1]
  | o- iqn.2014-08.com.exmaple:nuc .................................................................... [TPGs: 1]
  |   o- tpg1 ................................................................................ [gen-acls, no-auth]
  |     o- acls ........................................................................................ [ACLs: 0]
  |     o- luns ........................................................................................ [LUNs: 1]
  |     | o- lun0 ..................................................................... [block/disk01 (/dev/sdb4)]
  |     o- portals .................................................................................. [Portals: 1]
  |       o- 0.0.0.0:3260 ................................................................................... [OK]
  o- loopback ....................................................................................... [Targets: 0]
/> 

답변1

iSCS 대상 LUN을 생성하면 이전에 정의된 스토리지 개체를 대상과 연결하고 장치가 사용할 번호를 정의합니다.

lun0따라서 LUN( )을 확장 하려면 기본 스토리지 개체( disk01)를 확장해야 합니다.

이를 수행하는 한 가지 방법은 다음과 같이 두 디스크에서 논리 볼륨을 생성하는 것입니다(이렇게 하려면 가동 중단이 필요함).

사용하지 않는 스토리지 개체를 삭제 disk02하고 여기에서 논리 볼륨을 생성합니다.

/backstores/block> delete disk02
Deleted storage object disk02.
/backstores/block> ls
o- block ...................................................................................................... [Storage Objects: 1]
  o- disk01 .............................................................................. [/dev/sdb4 (392.2GiB) write-thru activated]
/backstores/block>

iscsi_lv01전체 장치를 사용하여 논리 볼륨( )을 생성합니다 .

$ pvcreate /dev/sda
  Physical volume "/dev/sda" successfully created
$ vgcreate iscsi_disk01 /dev/sda
  Volume group "iscsi_disk01" successfully created
$ lvcreate iscsi_disk01 -l 100%FREE -n iscsi_lv01
  Logical volume "iscsi_lv01" created

메모:
기존 장치가 포맷되었고 데이터가 포함되어 있었다면 이 새 볼륨을 포맷하고 데이터를 여기에 복사해야 합니다.

새 볼륨을 사용하여 새 스토리지 개체를 만듭니다.

$ targetcli
/backstores/block> create iscsi_lv01 /dev/iscsi_disk01/iscsi_lv01
Created block storage object iscsi_lv01 using /dev/iscsi_disk01/iscsi_lv01.
/backstores/block> ls
o- block ...................................................................................................... [Storage Objects: 2]
  o- disk01 .............................................................................. [/dev/sdb4 (392.2GiB) write-thru activated]
  o- iscsi_lv01 .................................................... [/dev/iscsi_disk01/iscsi_lv01 (476.9GiB) write-thru deactivated]
/backstores/block>

lun0새 볼륨을 사용하여 다시 생성

/> cd iscsi/iqn.2014-08.com.exmaple:nuc/tpg1/luns/
/iscsi/iqn.20...nuc/tpg1/luns> delete lun0
Deleted LUN 0.
/iscsi/iqn.20...nuc/tpg1/luns> create /backstores/block/iscsi_lv01
Created LUN 0.
/iscsi/iqn.20...nuc/tpg1/luns> ls
o- luns .................................................................................................................. [LUNs: 1]
  o- lun0 ........................................................................ [block/iscsi_lv01 (/dev/iscsi_disk01/iscsi_lv01)]
/iscsi/iqn.20...nuc/tpg1/luns>

기존 스토리지 개체를 삭제 disk01한 후 볼륨 그룹에 추가합니다.

/> cd backstores/block/
/backstores/block> delete disk01
Deleted storage object disk01.
/backstores/block> cd /
/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- iscsi_lv01 .................................................. [/dev/iscsi_disk01/iscsi_lv01 (476.9GiB) write-thru activated]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 1]
  | o- iqn.2014-08.com.exmaple:nuc ....................................................................................... [TPGs: 1]
  |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
  |     o- acls .......................................................................................................... [ACLs: 0]
  |     o- luns .......................................................................................................... [LUNs: 1]
  |     | o- lun0 ................................................................ [block/iscsi_lv01 (/dev/iscsi_disk01/iscsi_lv01)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
  o- loopback ......................................................................................................... [Targets: 0]

auto_save_on_exittrue로 설정되지 않은 경우 새 구성을 저장합니다 .

/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

원래 장치로 기존 논리 볼륨을 확장합니다 disk01.

$ pvcreate /dev/sdb4
  Physical volume "/dev/sdb4" successfully created
$ vgextend iscsi_disk01 /dev/sdb4
  Volume group "iscsi_disk01" successfully extended
$ lvextend -l 100%VG /dev/iscsi_disk01/iscsi_lv01
  Extending logical volume iscsi_lv01 to 869.1GiB
  Logical volume iscsi_lv01 successfully resized
$

메모:
disk01볼륨에 포맷이 필요한 경우 추가된 파일 시스템의 크기를 조정하는 추가 단계도 있습니다 .

새로운 크기의 저장소 개체를 확인하세요.

/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- iscsi_lv01 .................................................. [/dev/iscsi_disk01/iscsi_lv01 (869.1GiB) write-thru activated]

안타깝게도 이 방법을 사용하면 LUN 크기를 조정하는 동안 가동 중지 시간이 필요하지만 이 방법을 따르면 가동 중지 시간을 최소화할 수 있습니다.

참고자료

타겟클리 위키
tgtadm을 사용한 iSCSI 대상 가이드

관련 정보