저는 디스크 파티셔닝을 처음 접한다는 점부터 말씀드리고 싶습니다. 따라서 어느 시점에서든 제가 원하는 결과가 워크스테이션에서 불가능할 경우 비슷한 결과를 얻을 수 있는 올바른 방법을 알려주세요. 감사해요!
질문
여러 RHEL 워크스테이션을 관리하기 위해 bash 스크립트를 작성하고 싶습니다. 워크스테이션마다 디스크 수와 디스크 파티션이 다를 수 있습니다.
내가 달성하고 싶은 것은 4GiB
워크스테이션에서 발견된 적절한 디스크에 적절한 크기의 새(별도) 파티션을 생성하는 것입니다. 스크립트가 별도의 파티션을 생성할 적절한 위치를 찾을 수 없는 경우(디스크 부족으로 인해 할당되지 않음) 저장 공간) 그러면 스크립트가 인쇄 "Unable to create separate partition on disk: Insufficient space"
되고 종료됩니다.
또한 이 작업을 수행하는 동안 논리 볼륨이 파괴되는 것을 걱정해야 합니까 /dev/mapper
?
예
여기에 설명된 예제 워크스테이션 파티션은 전체 목록이 아니며 RHEL 워크스테이션 네트워크에 있는 많은 구성 중 두 가지일 뿐입니다.
Example 1:
# fdisk -l
Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier:
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M EFI System
/dev/sda2 1230848 3327999 2097152 1G Linux filesystem
/dev/sda3 3328000 134215679 130887680 62.4G Linux LVM
물리적 디스크가 1개만 있는 이 워크스테이션에서 스크립트가 분할할 수 있는 항목을 자동으로 찾도록 하고 싶습니다 4GiB
. 예를 들어 공간을 /dev/sda3
분할할 수 있는 경우 4GiB
최종 분할은 다음과 같습니다.
# fdisk -l
Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier:
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M EFI System
/dev/sda2 1230848 3327999 2097152 1G Linux filesystem
/dev/sda3 3328000 125827071 122499072 58.4G Linux LVM
/dev/sda4 125827072 134215679 8388608 4G Linux # numbers here estimated based on calculation only
Example 2:
# fdisk -l
Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier:
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M EFI System
/dev/sda2 1230848 3327999 2097152 1G Linux filesystem
/dev/sda3 3328000 134215679 130887680 62.4G Linux LVM
Disk /dev/sdb: 32 GiB, 34359738368 bytes, 67108864 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier:
Device Start End Sectors Size Type
/dev/sdb1 2048 20973567 20971520 10G Linux LVM
/dev/sdb2 20973568 67108830 46135263 22G Linux LVM
이 경우 /dev/sda
꽉 찼다고 가정하면 스크립트가 자동으로 이를 감지하고 분할합니다 /dev/sdb
.
# fdisk -l
Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier:
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M EFI System
/dev/sda2 1230848 3327999 2097152 1G Linux filesystem
/dev/sda3 3328000 134215679 130887680 62.4G Linux LVM
Disk /dev/sdb: 32 GiB, 34359738368 bytes, 67108864 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier:
Device Start End Sectors Size Type
/dev/sdb1 2048 20973567 20971520 10G Linux LVM
/dev/sdb2 20973568 58722303 37748736 18G Linux LVM
/dev/sdb3 58722304 67106815 8384512 4G Linux LVM
이에 대한 도움을 주시면 대단히 감사하겠습니다. 감사합니다!