RDM(Raw Device Mapping) 원시 장치 매핑
VMWare/ESXi/vCenter 등에서 디스크를 가상머신에 할당하는경우에는 보통 데이터 스토어에서 일정용량을 할당받아서 사용하게 된다.
하지만 디스크를 통째로 원시 디스크로 할당해주고 싶은경우에는 RDM기능을 사용하여야 한다.
RDM 작업은 아래 순서로 진행한다.
ESXi Shell에서 작업
디스크 확인
/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
최신버전인 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
은 연결하고자 하는 컨트롤러의 비어있는 슬롯 번호로 연결한 것이다.