Итак, моя проблема была в том, как я удалял и восстанавливал раздел. Я запутался в fdisk
и в том, что он показывал начальное расположение не в секторах. Когда я правильно вызвал fdisk
следующим образом:
$ sudo fdisk -c -u /dev/vda
Command (m for help): p
Disk /dev/vda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 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 identifier: 0x0004064e
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 31459327 15728640 83 Linux
Было совершенно очевидно, что я не сохранил выравнивание начального сектора при создании нового раздела.
Из руководства по использованию fdisk:
Options:
-c switch off DOS-compatible mode
-u <size> give sizes in sectors instead of cylinders
Поэтому, просто обратив особое внимание на эту деталь, я смог выполнить следующий процесс для расширения раздела моей виртуальной машины, используя все доступное пространство HDD.
Удалить существующий раздел:
Command (m for help): d
Selected partition 1
Теперь добавить новый:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-83886079, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079):
Using default value 83886079
Сделать его загрузочным:
Command (m for help): a
Partition number (1-4): p
Partition number (1-4): 1
И подтвердить все это:
Command (m for help): p
Disk /dev/vda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 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 identifier: 0x0004064e
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83886079 41942016 83 Linux
Зафиксировать на HDD:
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.
Теперь перезагрузить систему и сделать resize2fs, если нужно:
$ sudo resize2fs /dev/vda1
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 10485504 blocks long. Nothing to do!
И подтвердить:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 807M 37G 3% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
Один из методов заключается в использовании традиционной eth0
схемы именования. Это очень хорошо подходит для серверов с одним сетевым интерфейсом. Этот метод может быть не очень хорошей идеей для ноутбуков или систем с множеством или динамических сетевых интерфейсов, и в этом случае вам нужно будет каким-то образом справиться с этой сложностью. В частности, параметры ksdevice=eth0 net.ifnames=0 biosdevname=0
должны заставить сервер использовать eth0
и указать KickStart, что eth0
— это устройство, например, в конфигурации grub EFI :
menuentry "centos7" {
linuxefi /centos7/vmlinuz ks=.../ks/c7 ksdevice=eth0 net.ifnames=0 biosdevname=0
initrdefi /centos7/initrd.img
}
старый pxelinux.cfg
файл может вместо этого содержать что-то вроде
label centos7
kernel centos7/vmlinuz
append initrd=centos7/initrd.img ks=.../ks/c7 ksdevice=eth0 net.ifnames=0 biosdevname=0
Затем в файле конфигурации KickStart .../ks/c7
вам может потребоваться включить или сгенерировать соответствующую конфигурацию для системы, например.
bootloader --location=mbr --append="net.ifnames=0 biosdevname=0"
network --device=eth0 --bootproto=dhcp --ipv6=auto