VMWare/ESXi/vCenter 등에서 디스크를 가상머신에 할당하는경우에는 보통 데이터 스토어에서 일정용량을 할당받아서 사용하게 된다.
하지만 디스크를 통째로 원시 디스크로 할당해주고 싶은경우에는 RDM기능을 사용하여야 한다.
RDM 작업은 아래 순서로 진행한다.
/dev/disks/
디렉토리 목록을 확인해보면 원시 디스크 목록이 보인다.
아래 목록중
vml.01000000004b314b3532544d44202020202020202020202020484753542048 → t10.ATA_HGST_HUS726060ALE610K1K52TMD
이 디스크를 가상머신에 원시 디스크로 할당하려고 한다.
[root@esxi:~] ls -al /dev/disks/ total 19569808625 drwxr-xr-x 2 root root 512 Mar 22 11:46 . drwxr-xr-x 16 root root 512 Mar 22 11:46 .. -rw------- 1 root root 31914983424 Mar 22 11:46 mpx.vmhba32:C0:T0:L0 -rw------- 1 root root 4161536 Mar 22 11:46 mpx.vmhba32:C0:T0:L0:1 -rw------- 1 root root 262127616 Mar 22 11:46 mpx.vmhba32:C0:T0:L0:5 -rw------- 1 root root 262127616 Mar 22 11:46 mpx.vmhba32:C0:T0:L0:6 -rw------- 1 root root 115326976 Mar 22 11:46 mpx.vmhba32:C0:T0:L0:7 -rw------- 1 root root 299876352 Mar 22 11:46 mpx.vmhba32:C0:T0:L0:8 -rw------- 1 root root 2684354560 Mar 22 11:46 mpx.vmhba32:C0:T0:L0:9 -rw------- 1 root root 6001175126016 Mar 22 11:46 t10.ATA_____HGST_HUS726060ALE610____________________K1K52TMD____________ -rw------- 1 root root 6001172414976 Mar 22 11:46 t10.ATA_____HGST_HUS726060ALE610____________________K1K52TMD____________:1 -rw------- 1 root root 2000398934016 Mar 22 11:46 t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31DKR5N -rw------- 1 root root 2000397868544 Mar 22 11:46 t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31DKR5N:1 -rw------- 1 root root 2000398934016 Mar 22 11:46 t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31J54HN -rw------- 1 root root 2000397795328 Mar 22 11:46 t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31J54HN:1 lrwxrwxrwx 1 root root 72 Mar 22 11:46 vml.01000000002020202020204d4c30323230463331444b52354e486974616368 -> t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31DKR5N lrwxrwxrwx 1 root root 74 Mar 22 11:46 vml.01000000002020202020204d4c30323230463331444b52354e486974616368:1 -> t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31DKR5N:1 lrwxrwxrwx 1 root root 72 Mar 22 11:46 vml.01000000002020202020204d4c303232304633314a3534484e486974616368 -> t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31J54HN lrwxrwxrwx 1 root root 74 Mar 22 11:46 vml.01000000002020202020204d4c303232304633314a3534484e486974616368:1 -> t10.ATA_____Hitachi_HDS5C3020ALA632_______________________ML0220F31J54HN:1 lrwxrwxrwx 1 root root 20 Mar 22 11:46 vml.0100000000303030303032363630413031556c74726120 -> mpx.vmhba32:C0:T0:L0 lrwxrwxrwx 1 root root 22 Mar 22 11:46 vml.0100000000303030303032363630413031556c74726120:1 -> mpx.vmhba32:C0:T0:L0:1 lrwxrwxrwx 1 root root 22 Mar 22 11:46 vml.0100000000303030303032363630413031556c74726120:5 -> mpx.vmhba32:C0:T0:L0:5 lrwxrwxrwx 1 root root 22 Mar 22 11:46 vml.0100000000303030303032363630413031556c74726120:6 -> mpx.vmhba32:C0:T0:L0:6 lrwxrwxrwx 1 root root 22 Mar 22 11:46 vml.0100000000303030303032363630413031556c74726120:7 -> mpx.vmhba32:C0:T0:L0:7 lrwxrwxrwx 1 root root 22 Mar 22 11:46 vml.0100000000303030303032363630413031556c74726120:8 -> mpx.vmhba32:C0:T0:L0:8 lrwxrwxrwx 1 root root 22 Mar 22 11:46 vml.0100000000303030303032363630413031556c74726120:9 -> mpx.vmhba32:C0:T0:L0:9 lrwxrwxrwx 1 root root 72 Mar 22 11:46 vml.01000000004b314b3532544d44202020202020202020202020484753542048 -> t10.ATA_____HGST_HUS726060ALE610____________________K1K52TMD____________ lrwxrwxrwx 1 root root 74 Mar 22 11:46 vml.01000000004b314b3532544d44202020202020202020202020484753542048:1 -> t10.ATA_____HGST_HUS726060ALE610____________________K1K52TMD____________:1 [root@esxi:~]
데이터 스토어의 특정폴더에 매핑용 디스크 파일을 생성한다.
/vmfs/volumes/datastore1/DISKS/
디렉토리에 만든다고 가정한다.
-z
옵션은 passthrough 장치를 만드는것이고 -r
옵션은 RDM장치를 만드는것이다.
둘간의 차이점은 모르겠다.
# vmkfstools -z /vmfs/devices/disks/vml.01000000004b314b3532544d44202020202020202020202020484753542048 /vmfs/volumes/datastore1/DISKS/MY_RDMDISK.vmdk
이후 생성한 가상머신에 저 매핑된 MY_RDMDISK.vmdk
파일을 할당해주면 완료
최신버전인 ESXi 8 에서는 위의 방식으로 RDM을 만들어 VM에 연결하려고 하면 정상적으로 진행되지 않는다.
이럴때는 해당 VM의 vmx 파일을 열어 직접 장치를 추가해주면 된다.
scsi0:1.deviceType = "scsi-hardDisk" scsi0:1.fileName = "/vmfs/volumes/5e831b71-bbdb96de-eacb-38d5477a4f69/RDM/rdm-disk3t.vmdk" sched.scsi0:1.shares = "normal" sched.scsi0:1.throughputCap = "off" scsi0:1.present = "TRUE" scsi0:1.mode = "independent-persistent"
scsi0:1
은 연결하고자 하는 컨트롤러의 비어있는 슬롯 번호로 연결한 것이다.