Do not set ESXi scratch to the root of a directory

안녕하세요. 오랜만에 글을 올립니다.

 

제가 6월부터 제가 소속되어있던 팀의 매니저로 Role change 을 하는 바람에 최근에는 기술적인 업무를 덜 하고 있습니다.

그래도 원래 하던게 그거라서… 자의반 타의반으로로 하게되네요. ^^

 

ESXi 의 Scratch Partition 은 한마디로 이야기하면 코어덤프나 로그가 저장되는 공간입니다. 디폴트로는 ESXi 설치되는 부팅 디스크에 보통 4GB 크기의  vfat 타입의 파티션이 생성되며, scratch partition 으로 지정됩니다.

USB 나 SD 에 ESXi 가 설치되는 경우에는 해당 디스크에는 VMFS Datastore 를 생성하지 않기 떄문에, Ramdisk 로 잡히게 됩니다. 또는 부팅 디스크가 4GB 이하인 경우에도 Ramdisk 로 잡힙니다.

 

[root@localhost:~] df -h
Filesystem Size Used Available Use% Mounted on
NFS 26.2T 10.9T 15.2T 42% /vmfs/volumes/NFS
VMFS-6 924.0G 680.8G 243.2G 74% /vmfs/volumes/Boot_SSD_SATA
VMFS-6 476.8G 179.7G 297.0G 38% /vmfs/volumes/NVME
VMFS-6 931.2G 536.8G 394.4G 58% /vmfs/volumes/Amazon_WD_1TB
VMFS-6 2.0T 193.7G 1.8T 9% /vmfs/volumes/Synology-2TB
vfat 285.8M 198.0M 87.9M 69% /vmfs/volumes/60ef0e72-927363c0-d572-d05099c21337
vfat 249.7M 149.0M 100.7M 60% /vmfs/volumes/cf221a7e-dcc909ae-8011-6f9bee6006d0
vfat 249.7M 147.6M 102.1M 59% /vmfs/volumes/aa236971-3bcebaac-02cb-ce78a4d3f8e6
vfat 4.0G 38.8M 4.0G 1% /vmfs/volumes/60ef0e84-55ec4ef4-6266-d05099c21337

 

ESXi 7.0 부터는 파티션 레이아웃이 변경되면서, VMFS-L 타입의 ESX-OSData 파티션이 Scratch partition 대신에 생성됩니다. 그 이야기는 ESXi 7.0 이전 버전에서 7.0 으로 업그레이드를 하는 경우 Scratch partition 이 ESX-OSData 볼륨으로 컨버팅 된다는 것입니다.

 

 

다만 수동으로 별도의 영역을 지정할 수 있는데요, NFS 나 다른 VMFS datastore 로 지정할 수 있습니다. (https://kb.vmware.com/s/article/1033696)

 

 

문제는 지정하실 떄 주의하셔야 하는 부분이, 만약 Shared Datastore 에다가 Scratch partition 을 지정하는 경우에는 호스트별로 Unique 한 Folder 까지 만든 후에 경로를 폴더까지 입력해야 한다는 것입니다.

 

Warning: Do not set scratch to the root of a directory.

 

KB 의 예를 들면,  vmfs/volumes/DatastoreUUID/.locker-ESXHostname. 와 같은 식으로요. 그렇지 않고 Datastore UUID 까지만 지정하면, 호스트별로 별도의 폴더가 자동으로 만들어지지 않기 때문에, 여러대의 호스트에서 동일한 위치에 scratch partition 내용을 쓰게 됨으로 문제가 발생하게 됩니다.

 

[root@TestESXi02:/vmfs/volumes/61513d01-c9c2894d-a1cd-d05099c21337/log] less vmkernel.log

vmkernel.log: Device or resource busy

[root@TestESXi02:/vmfs/volumes/61513d01-c9c2894d-a1cd-d05099c21337/log] less vmkernel.log

vmkernel.log: Device or resource busy

 

 

위와 같이 한대의 호스트에서만 vmkernel.log 를 쓸 수 있고, 나머지 호스트들은 접근을 할 수 없어, 리붓등을 진행할 때 로그들이 손상되게 됩니다. 따라서 Scratch partition 의 위치를 바꾼다면 호스트들별로 꼭 별도의 디렉토리를 만들어야 한다는 것을 기억해 두십시요.

 

예) ‘/vmfs/volumes/5ea7147e-cc023459-7318-d05099c21337/.locker-TestESXi01’

 

/vmfs/volumes/5ea7147e-cc023459-7318-d05099c21337/ 만 지정하심 안됩니다. 폴더까지.

 

추가적으로 잘못 설정되는 경우 ESXi 7.0 업그레이드시에 Scratch partition 으로 지정되어있는 Datastore 에서 Data loss 가 발생할 수 있음으로 유의하시기 바랍니다.

https://kb.vmware.com/s/article/83647

 

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다