1

Я пытаюсь сжать раздел, чтобы он соответствовал размеру другого раздела на другом диске. Я слышал, что сначала я должен сжать файловую систему, чтобы соответствовать. Я пытаюсь сделать это с resize2fs , но если я использую значения в

cat /proc/partitions
major minor  #blocks  name

 202        0  178257920 xvda
 202        1  178249871 xvda1
 202       32   47185920 xvdc
 202       33   47184896 xvdc1

как это

ubuntu@asdf:~$ sudo resize2fs /dev/xvda1 47184896

я получил

resize2fs 1.42.13 (17-May-2015)
The containing partition (or device) is only 44562467 (4k) blocks.
You requested a new size of 47184896 blocks.

У меня проблема с simliar при использовании parted .

$ sudo parted /dev/xvda
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart 1 94371839
Error: The location 94371839 is outside of the device /dev/xvda.

Если я пытаюсь сделать resizepart 1 94371839 для «/ DEV / xvda1» в parted я получаю Error: The location 94371839 is outside of the device /dev/xvda1. когда он явно находится в пределах диапазона блока устройства, как показано

sudo fdisk -l

Disk /dev/xvda: 170 GiB, 182536110080 bytes, 356515840 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: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors  Size Id Type
/dev/xvda1 *    16065 356515806 356499742  170G 83 Linux

Это сводит меня с ума. Как получить правильные значения размера файловой системы и размера раздела для использования с resize2fs и parted?

1 ответ1

1

resize2fs не ошибается с количеством блоков. Он просто использует блоки 4k, в то время как /proc/partitions сообщает блоки 1k.

356499742 x 512B секторов = 178249871 x 1K блоков = 44562467 x 4K блоков

С помощью parted вы можете настроить устройство, которое хотите использовать. Кажется, parted использует MB по умолчанию, поэтому вы просите изменить размер раздела 170 ГБ до 94 ТБ, от чего он по праву отказывается.

Вот один из способов сделать это правильно:

parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help unit                                                        
  unit UNIT                                set the default unit to UNIT

    UNIT is one of: s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB,
        GiB, TiB
(parted) unit kiB                                                         
(parted) print                                                            
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 524288kiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start      End        Size       Type     File system  Flags
 1      1024kiB    205824kiB  204800kiB  primary  ext3
 2      205824kiB  410624kiB  204800kiB  primary  ext3
(parted) resizepart 1 200000                                              
Warning: Shrinking a partition can cause data loss, are you sure you want to
continue?
Yes/No? Yes                                                               
(parted) print                                                            
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 524288kiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start      End        Size       Type     File system  Flags
 1      1024kiB    200000kiB  198977kiB  primary  ext3
 2      205824kiB  410624kiB  204800kiB  primary  ext3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .