Назад | Перейти на главную страницу

Как увеличить размер файловой системы XFS?

Я только что создал инстанс Amazon AWS EC2, работающий RHEL7:

[root@ip-10-184-161-46 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-184-161-46 ~]# 

И хотя я выбрал 10GB как объем памяти, по какой-то причине я вижу только 6GB это доступно для меня прямо сейчас:

[root@ip-10-184-161-46 ~]# mount | grep xfs | grep -v selinux
/dev/xvda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@ip-10-184-161-46 ~]# df -h | grep xvda
/dev/xvda1      6.0G  2.2G  3.9G  37% /
[root@ip-10-184-161-46 ~]# fdisk -l /dev/xvda

Disk /dev/xvda: 10.7 GB, 10737418240 bytes, 20971520 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
Disk label type: dos
Disk identifier: 0x0000b85c

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048    12584959     6291456   83  Linux
[root@ip-10-184-161-46 ~]# 

вот что я сделал:

[root@ip-10-164-175-246 ~]# fdisk -l /dev/xvda

Disk /dev/xvda: 10.7 GB, 10737418240 bytes, 20971520 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
Disk label type: dos
Disk identifier: 0x0000b85c

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048    12584959     6291456   83  Linux
/dev/xvda2        12584960    20971519     4193280   83  Linux
[root@ip-10-164-175-246 ~]# xfs_growfs /
meta-data=/dev/xvda1             isize=256    agcount=4, agsize=393216 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=1572864, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@ip-10-164-175-246 ~]# df -h | grep xvda
/dev/xvda1      6.0G  2.3G  3.8G  38% /
[root@ip-10-164-175-246 ~]# 

Где другие мои 4GB? Я думал бегать xfs_growfs / увеличит размер моего xfs раздел.

Что я делаю не так?

Забавно, я сделал именно это на днях после того, как обнаружил, что мой экземпляр RHEL на EC2 имел только 6 ГБ или около того из 10 ГБ, выделенных для него ...

[root@ip-172-31-20-177 ~]# xfs_info /
meta-data=/dev/xvda1             isize=256    agcount=4, agsize=393216 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=1572864, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Проблема в том, что вы создали второй раздел.

Вместо этого вам следует изменить размер первого раздела.

Итак, вы будете использовать fdisk чтобы удалить второй раздел, затем удалите и заново создайте первый раздел в то же время. В fdisk значения по умолчанию заставят его заполнить диск (и быть правильно выровненным).

Начало fdisk и удалим раздел:

[root@ip-172-31-20-177 ~]# fdisk /dev/xvda
Welcome to fdisk (util-linux 2.23.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/xvda: 10.7 GB, 10737418240 bytes, 20971520 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
Disk label type: dos
Disk identifier: 0x0000b85c

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048    12584959     6291456   83  Linux

Command (m for help): d
Selected partition 1
Partition 1 is deleted

Теперь заново создайте раздел со всеми значениями по умолчанию, что увеличит его размер:

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): p

Disk /dev/xvda: 10.7 GB, 10737418240 bytes, 20971520 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
Disk label type: dos
Disk identifier: 0x0000b85c

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1            2048    20971519    10484736   83  Linux

Сохраните новую таблицу разделов:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Когда вы перезагружаетесь, размер файловой системы должен автоматически изменяться. cloud-init. Если нет, вы можете использовать xfs_growfs / для увеличения файловой системы вручную.

[root@ip-172-31-20-177 ~]# xfs_info /
meta-data=/dev/xvda1             isize=256    agcount=7, agsize=393216 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@ip-172-31-20-177 ~]# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/xvda1      10474496 818560   9655936   8% /

Вы разделили диск xvda на 10 ГБ на два раздела: xvda1 - 6 ГБ, xvda2 - 4 ГБ. Итак, ваши остальные 4 ГБ находятся в xvda2, и вы можете смонтировать их где-нибудь, если хотите использовать.