Вопрос или проблема
Я пытаюсь добавить дополнительные 40 ГБ к 60 ГБ диску и сделать его объемом 100 ГБ. Диск добавлен с бэкенда, и в fdisk
он показывает 100 ГБ. Однако, когда я пытаюсь создать новый раздел, я получаю ошибку «Нет свободных секторов».
Когда я пытаюсь создать раздел с помощью fdisk /dev/sda
, как ниже:
]# fdisk /dev/sda
Устройство имеет логический размер сектора, который меньше, чем
физический размер сектора. Рекомендуется выравнивание к физическому сектору (или оптимальному
размеру I/O), иначе производительность может быть затронута.
ВНИМАНИЕ: Совместимый с DOS режим устарел. Настоятельно рекомендуется
отключить режим (команда 'c') и изменить единицы отображения на
сектора (команда 'u').
Команда (m для помощи): p
Диск /dev/sda: 107.4 ГБ, 107374182400 байт
255 голов, 63 сектора/дорожка, 13054 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Идентификатор диска: 0x0006d1e9
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sda1 * 1 64 512000 83 Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2 64 6528 51915776 8e Linux LVM
/dev/sda3 6528 7832 10481740 8e Linux LVM
/dev/sda4 7833 9137 10482412+ 5 Расширенный
/dev/sda5 7833 9137 10482381 8e Linux LVM
Раздел 5 не начинается на границе физического сектора.
Команда (m для помощи): n
Нет свободных секторов
Команда (m для помощи): q
Вывод fdisk -l
ниже:
~]# fdisk -l
Диск /dev/sda: 107.4 ГБ, 107374182400 байт
255 голов, 63 сектора/дорожка, 13054 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Идентификатор диска: 0x0006d1e9
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sda1 * 1 64 512000 83 Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2 64 6528 51915776 8e Linux LVM
/dev/sda3 6528 7832 10481740 8e Linux LVM
/dev/sda4 7833 9137 10482412+ 5 Расширенный
/dev/sda5 7833 9137 10482381 8e Linux LVM
Раздел 5 не начинается на границе физического сектора.
Диск /dev/mapper/vg_nkpdpbn01-lv_root: 69.2 ГБ, 69247959040 байт
255 голов, 63 сектора/дорожка, 8418 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Идентификатор диска: 0x00000000
Диск /dev/mapper/vg_nkpdpbn01-lv_swap: 5368 МБ, 5368709120 байт
255 голов, 63 сектора/дорожка, 652 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Идентификатор диска: 0x00000000
Дополнительно:
~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
ââsda1 8:1 0 500M 0 part /boot
ââsda2 8:2 0 49.5G 0 part
â ââvg_nkpdpbn01-lv_root (dm-0) 253:0 0 64.5G 0 lvm /
â ââvg_nkpdpbn01-lv_swap (dm-1) 253:1 0 5G 0 lvm [SWAP]
ââsda3 8:3 0 10G 0 part
â ââvg_nkpdpbn01-lv_root (dm-0) 253:0 0 64.5G 0 lvm /
ââsda4 8:4 0 1K 0 part
ââsda5 8:5 0 10G 0 part
ââvg_nkpdpbn01-lv_root (dm-0) 253:0 0 64.5G 0 lvm /
sr0 11:0 1 1024M 0 rom
~]# pvs
Файловый дескриптор 63 (pipe:[355848]) утечка при вызове pvs. Родительский PID 20225: -bash
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_nkpdpbn01 lvm2 a-- 49.51g 0
/dev/sda3 vg_nkpdpbn01 lvm2 a-- 9.99g 0
/dev/sda5 vg_nkpdpbn01 lvm2 a-- 9.99g 0
~]# lvs
Файловый дескриптор 63 (pipe:[356102]) утечка при вызове lvs. Родительский PID 20225: -bash
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_nkpdpbn01 -wi-ao---- 64.49g
lv_swap vg_nkpdpbn01 -wi-ao---- 5.00g
~]# vgs
Файловый дескриптор 63 (pipe:[356125]) утечка при вызове vgs. Родительский PID 20225: -bash
VG #PV #LV #SN Attr VSize VFree
vg_nkpdpbn01 3 2 0 wz--n- 69.49g 0
~]# df -h
Файловая система Размер Использовано Доступно Использ.% Смонтировано на
/dev/mapper/vg_nkpdpbn01-lv_root
64G 44G 17G 73% /
tmpfs 3.9G 4.0K 3.9G 1% /dev/shm
/dev/sda1 477M 115M 337M 26% /boot
Я предполагаю, что у вас есть 3 первичных (sda1, sda2, sda3), 1 расширенный (sda4) раздел и sda5 в качестве логического.
С помощью parted попробуйте изменить размер раздела 4.
Пример:
parted /dev/sdb
Диск /dev/sdb: 2000GB
Размер сектора (логический/физический): 512B/512B
Таблица разделов: msdos
Флаги диска:
Номер Начало Конец Размер Тип Файловая система Флаги
1 1049kB 1049GB 1049GB первичный ntfs
2 1049GB 1796GB 747GB расширенный
5 1049GB 1796GB 747GB логический
(parted) resizepart
Номер раздела? 2
Конец? [1796GB]? 2000GB
(parted) p
Модель: WD My Passport 0748 (scsi)
Диск /dev/sdb: 2000GB
Размер сектора (логический/физический): 512B/512B
Таблица разделов: msdos
Флаги диска:
Номер Начало Конец Размер Тип Файловая система Флаги
1 1049kB 1049GB 1049GB первичный ntfs
2 1049GB 2000GB 951GB расширенный
5 1049GB 1796GB 747GB логический
Теперь попробуйте добавить новый логический раздел, используя fdisk или parted, как вам удобнее.
С помощью fdisk вам нужно будет удалить sda4 и sda5 и добавить их снова, сохранив тот же начальный сектор, перекрытие sda4 и sda5 может создать проблему.
Примечание: Сделайте резервную копию ваших данных и сначала поймите и протестируйте это, делайте на свой страх и риск.
Наверное, ниже указанный способ, но не тестировался:
1. Удалите раздел 4 ( Команда (m для помощи): d и введите номер 4 )
2. Добавьте его снова и сохраните первый сектор старым ( Команда (m для помощи): n, выберите расширенный раздел e
, Номер раздела 4 , Первый сектор - 7833 , Последний сектор - по умолчанию
3. Добавьте логический раздел 5 -
( Команда (m для помощи): n, Добавьте логический раздел 5 , выберите по умолчанию для первого и последнего сектора
4 Измените начало логического раздела 5 на старое значение, команду эксперта (m для помощи): b
Номер раздела (1,2,5, по умолчанию 5):5
Новое начало данных - 7833
5 Распечатайте таблицу и проверьте
Я нашел решение.
1. Увеличьте размер расширенного тома с помощью parted.
– Введите команду “parted” из командной строки. Не нужно отмонтировать том или переходить в режим восстановления.
parted
Распечатайте таблицу и проверьте текущее распределение:
(parted) print
-
Измените размер расширенного раздела с текущего размера на новый доступный размер. В моем случае это 100GB.
(parted) resize 4 64.4GB 100GB
-
Распечатайте и посмотрите новое распределение:
(parted) print
-
Теперь сделайте раздел fdisk и создайте новый раздел sda6:
fdisk /dev/sda
Ответ или решение
Проблема с созданием нового раздела на диске: "Нет доступных секторов"
Ваша задача заключается в том, чтобы добавить новый раздел на диск, который увеличился до 100 ГБ, но вы столкнулись с ошибкой при попытке создания нового раздела: "Нет доступных секторов". Давайте детально разберем ситуацию и предложим возможные решения.
Анализ текущей ситуации
-
Структура разделов: На основании предоставленной информации можно видеть, что у вас есть несколько разделов:
/dev/sda1
: 500 MB – системный раздел./dev/sda2
: 49.5 GB – логический том (LVM)./dev/sda3
: 10 GB – логический том (LVM)./dev/sda4
: 1K – расширенный раздел./dev/sda5
: 10 GB – логический том (LVM).
Важно отметить, что в данной конфигурации расширенный раздел (
sda4
) почти полностью занят логическим разделом (sda5
), что объясняет, почему вы видите сообщение об отсутствии свободных секторов при попытке добавить новый логический раздел. -
Ограничения старой схемы разделов: Вы используете совместимую с DOS таблицу разделов (MBR), которая ограничивает количество основных разделов до 4 или 3 основных и 1 расширенного. Вам необходимо будет внести изменения в текущие разделы, чтобы освободить место для нового.
Решение проблемы
Для решения проблемы, вам потребуется изменить размер расширенного раздела и, возможно, удалить и заново создать логический раздел. Прежде чем продолжить, обязательно сделайте резервную копию важных данных, так как любые манипуляции с разделами могут привести к потере данных.
Шаги по решению:
-
Увеличение размера расширенного раздела с помощью
parted
:- Запустите утилиту
parted
:parted /dev/sda
- Выведите таблицу разделов:
(parted) print
- Увеличьте размер расширенного раздела, используя имеющиеся свободные сектора:
(parted) resizepart 4 100GB
- Подтвердите изменения и снова проверьте таблицу, чтобы убедиться, что раздел успешно увеличен:
(parted) print
- Запустите утилиту
-
Создание нового логического раздела с помощью
fdisk
:- Выйдите из
parted
и запуститеfdisk
:fdisk /dev/sda
- Введите
n
для создания нового раздела. Выберите тип раздела (логический) и укажите параметры (начальный и конечный сектора). Убедитесь, что новое пространство не перекрывает существующие. - Закончите редактирование и сохраните изменения, введя
w
.
- Выйдите из
-
Форматирование нового логического раздела:
- После создания нового раздела вам потребуется его отформатировать, например, в файловую систему ext4:
mkfs.ext4 /dev/sda6 # или тот номер, который вы установили для нового логического раздела
- После создания нового раздела вам потребуется его отформатировать, например, в файловую систему ext4:
-
Подключение нового раздела:
- Создайте точку монтирования и подключите новый раздел:
mkdir /mnt/new_partition mount /dev/sda6 /mnt/new_partition
- Создайте точку монтирования и подключите новый раздел:
Заключение
Следуя этим шагам, вы сможете увеличить размер своего диска до 100 ГБ и успешно создать новый логический раздел. Убедитесь, что все действия выполняются с осторожностью, и всегда имейте резервные копии важных данных на случай непредвиденных обстоятельств. Если у вас возникнут дополнительные вопросы, не стесняйтесь их задавать.