SR(Storage Repository) 은 XCP-ng 가 VM 디스크(VDI) 와 ISO 를 담는 스토리지 단위다. 호스트에 붙은 디스크를 로컬 SR 로 만들거나, 디렉터리를 ISO SR 로 붙인다. 모든 장치는 UUID 로 관리되고 name-label 은 바꿀 수 있다.
로컬 SR 로 쓸 디스크는 먼저 파티션을 잡는다. 2TB 이상이면 GPT 라벨을 써야 한다.
parted /dev/sdx
mklabel gpt
unit TB
mkpart primary 0% 100%
quit
ext 타입 SR 은 sr-create 가 파일시스템을 직접 만들므로 mkfs 는 따로 하지 않는다.
xe sr-create type=ext shared=false device-config:device=/dev/sdx1 name-label=storage-ssd
device 는 대상 파티션, name-label 은 XO 에서 보일 이름이다.호스트의 디렉터리를 ISO 저장소로 붙인다.
xe sr-create name-label=iso-images type=iso device-config:location=/home/os-imgs device-config:legacy_mode=true content-type=iso
5f83b66e-e930-ad04-2013-c5834116e943
xe sr-list
uuid ( RO) : db6c8b38-2fcc-9f1c-5837-61d63c5502ea
name-label ( RW): XCP-ng Tools
name-description ( RW): XCP-ng Tools ISOs
host ( RO): xen-01
type ( RO): iso
content-type ( RO): iso
uuid ( RO) : 5f016d5a-57fd-95a3-268a-8aa39c806b22
name-label ( RW): storage-ssd
name-description ( RW):
host ( RO): xen-01
type ( RO): ext
content-type ( RO):
uuid ( RO) : 5f83b66e-e930-ad04-2013-c5834116e943
name-label ( RW): iso-images
name-description ( RW):
host ( RO): xen-01
type ( RO): iso
content-type ( RO): iso
SR 과 물리 디스크는 PBD(Physical Block Device) 로 이어져 있다. 떼어낼 때는 PBD 를 먼저 뽑는다.
# SR 에 붙은 PBD 확인
xe pbd-list sr-uuid=<SR-UUID>
# PBD 분리 (SR 탈거)
xe pbd-unplug uuid=<PBD-UUID>
# PBD 삭제 (물리 디스크 탈거)
xe pbd-destroy uuid=<PBD-UUID>
# SR 등록 해제. 데이터는 지우지 않는다
xe sr-forget uuid=<SR-UUID>
데이터까지 지우려면 sr-forget 대신 xe sr-destroy uuid=<SR-UUID> 를 쓴다.