2 つの論理ボリュームで LVM を使用します。
- まず、LVをルートディレクトリにマウントします。
/
- 2番目のLVは
/var/log
ディレクトリにマウントされます。
これら2つのLVは物理ボリューム/ dev / sda3に基づいています。 /dev/sda デバイスは GPT パーティションテーブルを使用します。
私の意図は、ディスク上のすべての利用可能なメモリを占有するように/ dev / sda3パーティションのサイズを変更することです。
gdisk
これを行うには、次のコマンドを使用しました。
これは私の現在のパーティションテーブルです。
Command (? for help): p
Disk /dev/sda: 4294967296 sectors, 2.0 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 546DEB45-C1DE-402B-BB51-4011AC159B4F
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 4294967262
Partitions will be aligned on 8-sector boundaries
Total free space is 4188012544 sectors (2.0 TiB)
Number Start (sector) End (sector) Size Code Name
1 34 614433 300.0 MiB EF00
2 614434 17386294 8.0 GiB 8200
3 17386295 106954718 42.7 GiB 8E00
これが3番目のパーティションのサイズを変更する方法です。
Command (? for help): d
Partition number (1-3): 3
Command (? for help): n
Partition number (3-128, default 3): 3
First sector (17386295-4294967262, default = 17386296) or {+-}size{KMGTP}:
Last sector (17386296-4294967262, default = 4294967262) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Changed type of partition to 'Linux LVM'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
実際、3番目のパーティションのサイズは次のとおりです。
Command (? for help): p
Disk /dev/sda: 4294967296 sectors, 2.0 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 546DEB45-C1DE-402B-BB51-4011AC159B4F
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 4294967262
Partitions will be aligned on 8-sector boundaries
Total free space is 1 sectors (512 bytes)
Number Start (sector) End (sector) Size Code Name
1 34 614433 300.0 MiB EF00
2 614434 17386294 8.0 GiB 8200
3 17386296 4294967262 2.0 TiB 8E00 Linux LVM
パーティションテーブルへの新しい変更をカーネルに伝える必要があります。
私が知っている3つのオプションがあります。
partprobe
:
Error: Partition(s) 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.
partx -uv /dev/sda
:
partition: none, disk: /dev/sda, lower: 0, upper: 0
/dev/sda: partition table type 'gpt' detected
/dev/sda: partition #1 resized
/dev/sda: partition #2 resized
/dev/sda: partition #3 resized
partx: /dev/sda: updating partition #3 failed: Invalid argument
partx: /dev/sda: error updating partition 3
reboot
: マシンが修復されないため、KDB シェルに入りました。
質問:私は何が間違っていましたか? /dev/sda3パーティションのサイズを大きくする正しい方法は何ですか?
ちなみに、(以前に使用した2TiBの代わりに)100GiBなどのより小さなディスクを使用する場合、コマンドは次のようになりますpartx -uv /dev/sda
。布材エラーは発生しません(partprobe
まだ文句を言っています)。これをどのように説明しますか?
ご協力ありがとうございます!
答え1
結果からわかるように、gdisk
開始区間の前後に違いがあります。
3 17386295 106954718 42.7GiB 8E00
そして
3 17386296 4294967262 2.0TiB 8E00 Linux LVM
これにより、LVMがPVに関する正しい情報を認識しないため、問題が発生します。これを修正してみてください(開始セクタを17386295に設定)。これにより、PVが復元され、パーティションの可視性が復元されます。