web-dev-qa-db-ja.com

xfsフォーマットのディスクを成長させる方法は?

これがディスクです。シンプロビジョニングされたvmwareディスクであり、300GBから800GBに拡張されています。

 * -disk:1 
説明:SCSIディスク
物理ID:0.1.0 
バス情報:scsi @ 2:0.1.0 
論理名:/ dev/sdb 
サイズ:800GiB(858GB)
機能:パーティション分割:dos 
構成:sectorsize = 512署名= 4268053f 
 

これが

df -h
/dev/sdb1 300G 27G 273G 9%/ data 

私がこれをするとき、それは変わらないままです

 [evn-mrs-slave]〜> xfs_growfs -d /data
meta-data=/dev/sdb1 isize = 256 agcount = 4、agsize = 19660736 blks 
 = sectsz = 512 attr = 2 
 data = bsize = 4096ブロック= 78642944、imaxpct = 25 
 = sunit = 0 swidth = 0 blks 
 naming = version 2 bsize = 4096 ascii-ci = 0 
 log = internal bsize = 4096blocks = 38399、version = 2 
 = sectsz = 512 sunit = 0 blks、lazy-count = 1 
 realtime = none extsz = 4096ブロック= 0、rtextents = 0 
データサイズは変更されず、スキップされます
4
Edik Mkoyan

ファイルシステムを拡張する前に、パーティションを拡張する必要があります。 ファイルシステムパーティション内にあり、ディスクが300GiB大きい場合でも、パーティションは800GiB大きいままです。

パーティションのサイズ変更

パーティションのサイズを変更することはできませんが、削除してから再作成することはできます。パーティションが削除されても、基になるデータはそのままです。パーティションを削除して再作成することはそれほど難しくありませんが、計算は正確に正確に実行する必要があります。そうしないと、パーティション内のファイルシステムが不整合によって破損するか、アンダーサイジング。

私は通常 [〜#〜] gui [〜#〜] sを使用することを好みませんが、コマンドラインを使用してパーティションのサイズを変更すると、パーティションテーブル(通常はmsdosまたはgpt)、パーティションの開始、パーティションの終了、および適切なサイズ。

警告:続行する前に、この手順を使用してXFSファイルシステムのバックアップを取ります(ここで、/dev/sdg1はXFSファイルシステムであり、/path/to/backup.xfsはXFSを保存する場所です)投げ捨てる):

mount /dev/sdg1 /mnt
xfsdump -f /path/to/backup.xfs -L MySession -M MyMedia /mnt

問題が発生した場合は、新しいXFSパーティションに復元できます。

mount /dev/sdg1 /mnt # … where /dev/sdg1 is a new XFS partition
xfsrestore -f /path/to/backup.xfs /mnt

簡単な方法

GParted すべての計算を行います:

Screenshot of GParted's partition resize feature

それは非常に自明であり、XFSファイルシステムをそれに合わせて拡張することさえできます。
これは一般的に安全な手順です。

fdisk方法

fdiskを使用して、パーティションを削除して再作成します。完全な例:

root@node53 [~]# fdisk /dev/sdg

Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sdg: 991.5 MiB, 1039663104 bytes, 2030592 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: FAFC7A8C-52CB-4FF2-9746-391D50BF729C

Device     Start     End Sectors  Size Type
/dev/sdg1   2048 1050623 1048576  512M Linux filesystem

Start」の位置(2048)に注意してくださいth この例ではセクター)。パーティションを再作成するときに、これを最初のセクターとして入力する必要があります。

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

Command (m for help): n
Partition number (1-128, default 1): 1
First sector (34-2030558, default 2048): 2048
Last sector, +sectors or +size{K,M,G,T,P} (2048-2030558, default 2030558): 2030558

fdiskは、デフォルトで最大の連続した空き領域を使用します。 (この例では、それは2030558ですth セクタ。)

Created a new partition 1 of type 'Linux filesystem' and of size 990.5 MiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

これで、小さなXFSファイルシステムを含む大きなパーティションができました。これらのコマンドは、XFSファイルシステムを拡張します。

root@node53 [~]# mount -v /dev/sdg1 /mnt
mount: /dev/sdg1 mounted on /mnt.

root@node53 [~]# xfs_growfs /mnt
meta-data=/dev/sdg1              isize=256    agcount=4, agsize=32768 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=131072, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 131072 to 253563

ブーム、拡張されたXFSパーティションがあります。

root@node53 [~]# df -hT /mnt
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdg1      xfs   988M   26M  962M   3% /mnt

xfsdump方法(XFSを縮小する唯一の方法)

私があなたに言ったとき、あなたはバックアップを取りましたか?はい?良い! xfsrestoreを使用してxfsdumpsを新しいパーティションに復元することを好みます。利点は、この方法を使用してXFSファイルシステムを実際に縮小できることですが、欠点は、すべてのデータを書き換える必要があることです。これは時間がかかります。

上記のfdiskメソッドを実際に使用して、パーティションを再作成できます。 fdiskを終了した後、代わりにこれを実行します。

root@node53 [~]# mkfs.xfs -f /dev/sdg1
meta-data=/dev/sdg1              isize=256    agcount=4, agsize=63391 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=253563, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
root@node53 [~]# mount -v /dev/sdg1 /mnt
mount: /dev/sdg1 mounted on /mnt.
root@node53 [~]# xfsrestore -f /path/to/backup.xfs /mnt
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description: 
xfsrestore: hostname: andie
xfsrestore: mount point: /mnt
xfsrestore: volume: /dev/sdg1
xfsrestore: session time: Mon Nov 16 14:44:20 2015
xfsrestore: level: 0
xfsrestore: session label: "MySession"
xfsrestore: media label: "MyMedia"
xfsrestore: file system id: c5981472-9b75-4fad-9bd8-d1bd04086f8d
xfsrestore: session id: 092b0cf3-120d-43c1-b8ce-23300abf558e
xfsrestore: media id: 3cc0f4db-665f-40fd-ac54-493625f712f5
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 1 directories and 0 entries processed
xfsrestore: directory post-processing
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /path/to/backup.xfs OK (success)
xfsrestore: Restore Status: SUCCESS
6
Deltik