web-dev-qa-db-ja.com

非LVM ext4パーティションのサイズ変更/拡大/拡大方法

私はすでにフォーラムを検索しましたが、適切な答えを見つけることができませんでした:

Ubuntu Server 10.04をKVMホストとして使用し、ゲストシステムも10.04を実行しています。ホストシステムはLVMを使用し、3つの論理ボリュームがあります。これらは、仮想ブロックデバイスとしてゲストに提供されます。1つは/、1つは/ home、もう1つはスワップです。ゲストはLVMなしでパーティション分割されていました。

ホストシステムの論理ボリュームをすでに拡大しています-ゲストはより大きな仮想ディスクを正常に認識します。ただし、この仮想ディスクには「古き良き」パーティションが1つ含まれており、これにはまだ古いサイズが残っています。

Fdisk -lの出力は

me@produktion:/$ LC_ALL=en_US Sudo fdisk -l

Disk /dev/vda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c8ce7

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           1        3917    31455232   83  Linux

Disk /dev/vdb: 2147 MB, 2147483648 bytes
244 heads, 47 sectors/track, 365 cylinders
Units = cylinders of 11468 * 512 = 5871616 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f2bf7

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1               1         366     2095104   82  Linux swap / Solaris
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(0, 32, 33) logical=(0, 43, 28)
Partition 1 has different physical/logical endings:
     phys=(260, 243, 47) logical=(365, 136, 44)

Disk /dev/vdc: 225.5 GB, 225485783040 bytes
255 heads, 63 sectors/track, 27413 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00027f25

   Device Boot      Start         End      Blocks   Id  System
/dev/vdc1               1        9138    73398272   83  Linux

Parted print allの出力は

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  32.2GB  32.2GB  primary  ext4         boot


Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  2146MB  2145MB  primary  linux-swap(v1)


Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  75.2GB  75.2GB  primary  ext4

私が達成したいのは、仮想ブロックデバイス/ dev/vdcによって提供されるスペース全体を使用するように、パーティション/ dev/vdc1を単純に拡大またはサイズ変更することです。問題は、私がpartedでそれを行おうとすると、文句を言うことです:

(parted) select /dev/vdc                                                  
Using /dev/vdc
(parted) print                                                            
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  75.2GB  75.2GB  primary  ext4

(parted) resize 1                                                         
WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs.  We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Start?  [1049kB]?                                                         
End?  [75.2GB]? 224GB                                                     
Error: File system has an incompatible feature enabled.  Compatible features are has_journal, dir_index, filetype, sparse_super and large_file.  Use tune2fs
or debugfs to remove features.

じゃあどうすればいい?これは、ヘッドレス生産システムです。このパーティションを拡大する安全な方法は何ですか?ただし、マウントを解除できます。したがって、これは問題ではありません。

編集:Cfdiskは、小さな空きスペースのパーティション化されていないスペースを示し、次にパーティション(「ブート」およびLinux/ext3としてフラグが立てられた)、そしてパーティション化されていない残りのスペースを示しました。パーティションを削除し、cfdiskを使用して再度作成した後、cfdiskに1つの大きなパーティション領域が表示され(これで問題ありません)、ファイルシステムタイプとして「Linux」のみが表示されます

Resize2fsはこのエラーを返しますresize2fs 1.41.11 (14-Mar-2010) resize2fs: Bad magic number in super-block while trying to open /dev/vdc1 Couldn't find valid filesystem superblock

20
Mischa

This ページは、それを行う方法を示し、アンマウント、削除、目的のサイズでパーティションを再作成し、resize2fsを使用してパーティションを拡張します。 resize2fsのマニュアルページは同意します。

「パーティションの削除」は怖いように聞こえますが、データはまったく変更されません。コンテナを参照するものを変更するだけです。 mkfs.ext4をしない限り、大丈夫です。

パーティションの開始点は以前と同じである必要があります。そうしないと、OSはその背後にあるものを解釈する方法を知りません。その後、終点をさらに大きくして、より大きなパーティションを作成できます。

コメントのエラーは、開始点の移動に関連していると思います。開始時とまったく同じ時点で開始する必要があります。終点は動き回ることができます。

Cfdiskの代わりにfdiskを提案し、開始点の問題を確認してくれた psusi に感謝します。

18
RobotHumans

例:

/ dev/sdb2は/ bootパーティションです。 100 MBで、かなり小さいです。実行中のシステムでこのext4パーティションを増やすには(rootまたはSudoとして)行います:

umount/boot

parted/dev/sdb

(分けられた)印刷

モデル:ATA Patriot Torqx 2(scsi)
ディスク/ dev/sdb:32.0GB
セクターサイズ(論理/物理):512B/512B
パーティションテーブル:msdos

番号開始終了サイズタイプファイルシステムフラグ
1 1049kB 12.9GB 12.9GBプライマリタイプ= 83
2 12.9GB 13.0GB 107MBプライマリext4タイプ= 83

(分割)rm 2(parted) mkpart

パーティションタイプ?プライマリ/拡張?一次
ファイルシステムの種類[ext2]?
開始? 12.9GB
終わり? 13.4GB

(別れた)終了

resize2fs/dev/sdb2

resize2fs 1.42.6(2012年9月21日)
/dev/sdb2のファイルシステムは/ bootにマウントされます。オンラインでサイズ変更が必要
old_desc_blocks = 1、new_desc_blocks = 2
/dev/sdb2上のファイルシステムの長さは498688ブロックになりました。

できた!

すべてのデータはそのまま残ります。/bootはすぐに使用でき、472MBの大きさです(partedはサイズに関してそれほど安全ではありません。理由を知るためにマニュアルを読んでください)

すべてのデータは以前にバックアップされましたが、予防措置としてのみです。同じことをお勧めします。

次のコマンドを使用して、/ bootのアンマウントが失敗した場合に停止するプロセスを見つけます。

lsof/boot

幸運を!

6
user157258

パーティションを削除して再作成しようとすると、パーティションが2048未満になったときに、resize2fsを使用していたような問題が発生する可能性があります。

Couldn't find valid filesystem superblock.

fdiskバージョン2.17.2 から、fdisk IIUCは、ハードドライブが「正しく位置合わせされている」ことを確認するために、2048から開始することを強制します。したがって、元のパーティションが2048より前に開始された場合、パーティションを再作成しようとすると、でこぼこしたことになります。

最善のアプローチは、 ディスクのクローンを作成するときのrsync です。

0
hendry