반응형

■  하드디스크 ID 검색 ( sdb를 추가할 예정 )

ll    /dev/disk/by-id

[01:03 xcp-ng-sodlajge ~]#  ll    /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root  9 Dec 30 00:59 ata-KLEVV_NEO_N400_SSD_120GB_E202104060026997 -> ../../sdb
lrwxrwxrwx 1 root root 10 Dec 30 00:59 ata-KLEVV_NEO_N400_SSD_120GB_E202104060026997-part1 -> ../../sdb1
lrwxrwxrwx 1 root root  9 Dec 30 00:59 ata-RevuAhn_900G_120GB_R29GSV3120AH45K01508 -> ../../sda
lrwxrwxrwx 1 root root 10 Dec 30 00:59 ata-RevuAhn_900G_120GB_R29GSV3120AH45K01508-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 30 00:59 ata-RevuAhn_900G_120GB_R29GSV3120AH45K01508-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Dec 30 00:59 ata-RevuAhn_900G_120GB_R29GSV3120AH45K01508-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Dec 30 00:59 ata-RevuAhn_900G_120GB_R29GSV3120AH45K01508-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Dec 30 00:59 ata-RevuAhn_900G_120GB_R29GSV3120AH45K01508-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Dec 30 00:59 ata-RevuAhn_900G_120GB_R29GSV3120AH45K01508-part6 -> ../../sda6
lrwxrwxrwx 1 root root 10 Dec 30 01:00 dm-name-VG_XenStorage--fa44bc0e--35b0--b959--818a--d07f52ce40ca-MGT -> ../../dm-0
lrwxrwxrwx 1 root root 10 Dec 30 01:00 dm-uuid-LVM-mJfbMEyVAxMwK8c7BhGfQl1xSeHAFzi8XGWONFlfNYmuJtjz1I7drskwnR7rysqP -> ../../dm-0

 

 

 

■  디스크 ID 자동 추출

"sdb$" : 라인 끝이 정확히 sdb로 끝나는 항목만 선택 (sdb1과 같은 파티션은 제외)

NEW_DISK_ID=$(ls    -l    /dev/disk/by-id    |    grep    "sdb$"    |    awk    '{print    $9}'    |    head    -1)

 

■  HOST UUID 자동 추출

HOST_UUID=$(xe    host-list    |    grep    ^uuid    |    awk    '{print    $5}')

 

■  최종 마운트 명령어

xe    sr-create    device-config:device=/dev/disk/by-id/$NEW_DISK_ID    \
host-uuid=$HOST_UUID    \
content-type=user    \
name-label="NewDisk"    \
shared=false    \
type=lvm

 

 

■  한 명령어로 정리

더보기
NEW_DISK_ID=$(ls -l /dev/disk/by-id | grep "sdb$"| awk '{print $9}' | head -1)

HOST_UUID=$(xe host-list | grep ^uuid | awk '{print $5}')

xe sr-create device-config:device=/dev/disk/by-id/$NEW_DISK_ID \
host-uuid=$HOST_UUID \
content-type=user \
name-label="NewDisk" \
shared=false \
type=lvm

 

 

■  제거

xe    sr-list    name-label="Klevv"    --minimal    |    xargs    -I    {}    xe    sr-forget    uuid={}

 

■  오류발생

PBD(Physical Block Device)가 아직 연결되어 있어서 바로 제거가 안 되는 상황

xargs -I {} xe sr-forget uuid={}
The SR is still connected to a host via a PBD. It cannot be destroyed or forgotten.
sr: 69b60123-fb6d-6b4d-8ad5-56db113bbec0 (Klevv)

  

 

■  sdb 스토리지의 PBD 찾기 및 언플러그, 그리고 스토리지 제거까지 한번에 실행
DISK_PATH=$(ls    -l    /dev/disk/by-id    |    grep     "sdb$"     |     awk     '{print    $9}')     &&    \
SR_UUID=$(xe     pbd-list     params=all     |     grep     -B5     $DISK_PATH     |     grep     "sr-uuid"     |     awk     '{print $4}')    &&    \
xe     pbd-list    sr-uuid=$SR_UUID     --minimal     |     xargs    -I     {}     xe    pbd-unplug     uuid={}     &&    \
xe     sr-forget      uuid=$SR_UUID

 

 

하지만 이 방법은 신규 디스크 추가 방법으로 디스크가 초기화된다 ( 데이타가 지워진다 )


■ 젠서버 삭제하기  :  https://knsesang2000.tistory.com/207

반응형