私はディスクパーティショニングに初めて触れることから申し上げたいと思います。したがって、どの時点でも、目的の結果がワークステーションで不可能な場合に同様の結果が得られる正しい方法を教えてください。ありがとうございます!
質問
複数のRHELワークステーションを管理するためのbashスクリプトを作成したいと思います。ワークステーションごとにディスク数とディスクパーティションが異なる場合があります。
私が達成したいのは、4GiB
ワークステーションで見つかった適切なディスクに適切なサイズの新しい(別々の)パーティションを作成することです。スクリプトが別のパーティションを作成するための適切な場所を見つけることができない場合(ディスク不足のために割り当てられていない)、ストレージスペースはスクリプトを印刷して終了"Unable to create separate partition on disk: Insufficient space"
します。
また、この作業中に論理ボリュームが破壊されることを心配する必要がありますか/dev/mapper
?
はい
ここに記載されているワークステーションパーティションの例は完全なリストではなく、RHELワークステーションネットワーク内の多くの構成の2つにすぎません。
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
これにご協力いただきありがとうございます。ありがとうございます!