- Oracle Linux 6 : ‘partprobe’ command shows «WARNING: the kernel failed to re-read the partition table on /dev/sdd (Device or resource busy)» . (Doc ID 2308515.1)
- Applies to:
- Symptoms
- Changes
- Cause
- To view full details, sign in with your My Oracle Support account.
- Don’t have a My Oracle Support account? Click to get started!
- Cannot expand VMDK in CentOS VM: Re-reading the partition table failed, error 16
- Ensure AV Gear Plays Nice on the Corporate Network
- 2 Replies
- Read these next.
- poor wifi, school’s third floor
- Need help crafting a job posting for an IT Pro
- Snap! — AI Eye Contact, Mine Batteries, Headset-free Metaverse, D&D Betrayal
- Spark! Pro series – 13th January 2023
- sr_maks
- привет из хайтек
- Расширение дисков CentOS 7
- KVM: Как увеличить/уменьшить размер диска виртуальной машины?
- Увеличение диска виртуальной машины KVM
- Расширение виртуального диска со стороны KVM
- Расширение раздела в виртуальной машине с Linux CentOS
- Увеличение диска в гостевой Windows Server
- Как уменьшить размер виртуального диска в KVM?
- Уменьшение KVM диска с помощью утилиты qemu
- Уменьшение виртуального диска с подменой образа
- Форматы дисков KVM и сжатие диска в qcow2 формате
Oracle Linux 6 : ‘partprobe’ command shows «WARNING: the kernel failed to re-read the partition table on /dev/sdd (Device or resource busy)» . (Doc ID 2308515.1)
Last updated on MAY 13, 2020
Applies to:
Symptoms
On Oracle Linux 6, after the LVM disk space and underlying storage has been extended up to few a gigabytes, subsequently trying to extend the same LVM is unsuccessful after a new partition has been created.
The command ‘partprobe’ is unable to run and attempting an online resize and extending the partition which is mounted as Ext4 filesystem fails as in the example below:
After successfully creating PV and VG mounted the FS/volume group. Then created New Partition as /dev/sdd3 and then tried partprobe with old File System mounted :
——— New partition /dev/sdd3 is not reflected ———
Changes
Cause
To view full details, sign in with your My Oracle Support account.
Don’t have a My Oracle Support account? Click to get started!
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.
Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. пїЅ Oracle | Contact and Chat | Support | Communities | Connect with us | |
|
| Legal Notices | Terms of Use
Cannot expand VMDK in CentOS VM: Re-reading the partition table failed, error 16
I expanded the VMDK from 60 to 120 GBs but the guest OS isn’t having it. I can see Partition 2 get set to the size of 119, but then I get this error in fdisk:
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)
The «error 16: Device or resource busy» suggested I need to umount sda, but it is not mounted:
Here’s the full output:
Any ideas on this? TIA
Ensure AV Gear Plays Nice on the Corporate Network
If it’s already telling you to reboot to reload the partition table (this happens sometimes on older Linux systems/older kernels) then this procedure I wrote about a while probably won’t work either but it’s worth a shot, see if you can trigger a rescan.
Rather than manually editing partitions with fdisk, you can use newer tools such as «growpart» as well which take away some of the guesswork and accidentally getting the sectors wrong with typos of math errors.
2 Replies
If it’s already telling you to reboot to reload the partition table (this happens sometimes on older Linux systems/older kernels) then this procedure I wrote about a while probably won’t work either but it’s worth a shot, see if you can trigger a rescan.
Rather than manually editing partitions with fdisk, you can use newer tools such as «growpart» as well which take away some of the guesswork and accidentally getting the sectors wrong with typos of math errors.
Thank you, GerardBeekmans ! Not sure why, but I ran my final 3x commands (from the SuperUser post) and it worked:
- local_offer Tagged Items
GerardBeekmans
This topic has been locked by an administrator and is no longer open for commenting.
To continue this discussion, please ask a new question.
Read these next.
poor wifi, school’s third floor
I work as a help desk technician at a high school for a school district. Teachers/students on the building’s third floor have been reporting poor wifi, with their Chromebooks/laptops etc experiencing slow connectivity and random disconnections. We hav.
Need help crafting a job posting for an IT Pro
I’d really appreciate some thoughts and advice. I’m looking to hire an IT pro to be our resident go-to for all things IT (device support, SQL Server, network admin, etc) but who also is interested in learning — or even has some experience in — the.
Snap! — AI Eye Contact, Mine Batteries, Headset-free Metaverse, D&D Betrayal
Your daily dose of tech news, in brief. Welcome to the Snap! Flashback: January 13, 1874: Adding Machine Patented (Read more HERE.) Bonus Flashback: January 13, 1990: Astronauts awakened to the song Attack of the Killer Tomatoes (Read mor.
Spark! Pro series – 13th January 2023
Happy Friday the 13th! This day has a reputation for being unlucky, but I hope that you’ll be able to turn that around and have a great day full of good luck and good fortune. Whether you’re superstitious or not, .
sr_maks
привет из хайтек
После создания fdisk нового раздела сообщение:
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.
Syncing disks .
Это означает, что созданный раздел будет недоступен для манипуляций с ним.
Например — fdisk показывает наличие созданного раздела, но создание файловой структуры ни в какую:
fdisk -l
Disk /dev/sda: 298.9 GB, 298999349248 bytes
255 heads, 63 sectors/track, 36351 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 2636 20972857+ 83 Linux
/dev/sda3 2637 3158 4192965 82 Linux swap / Solaris
/dev/sda4 3159 36351 266622772+ 83 Linux
mkfs.ext3 /dev/sda4
mke2fs 1.39 (29-May-2006)
Could not stat /dev/sda4 — No such file or directory
The device apparently does not exist; did you specify it correctly?
Для решения данной проблемы без перезагрузки — partprobe.
partprobe
mkfs.ext3 /dev/sda4
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
33341440 inodes, 66655693 blocks
3332784 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
2035 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Расширение дисков CentOS 7
Появилась необходимость увеличения размера виртуальных дисков на виртуальной машине с CentOS 7. Задача простая, но все мануалы которые находятся поиском в google почему-то не работают. На деле всё достаточно просто, делается буквально несколькими командами.
Итак, имеется два виртуальных диска, системный – 16Gb, смонтированный – 5Gb. Смотрим список всех разделов, их размеры и процент использования
Средствами гипервизора увеличиваем размеры дисков, системный – 20Gb, смонтированный – 15Gb.
Смотрим таблицы разделов
Размеры дисков увеличились, осталось увеличить размеры разделов. Сначала изменим смонтированный диск – в конкретном случае sdb1. Первым делом размонтируем его, потом удалим имеющийся раздел (данная операция не затрагивает хранящиеся данные на диске) и создадим его заново большего размера
Монтируем диск обратно, перечитаем таблицу разделов и проверяем размер интересующего раздела
Теперь вторая половина задания, увеличим системный раздел – в текущей конфигурации sda3. Смотрим таблицу разделов, удаляем нужный, создаём его заново – большего размера
Как видно – перечитать таблицу разделов не удалось, т.к. раздел используется системой. Для внесения изменений необходима перезагрузка операционной системы. После перезагрузки осталось расширить раздел
Проблема в том, что resize2fs умеет работать только с ext2-4 файловыми системами, а CentOS7 по умолчанию создаёт разделы в файловой системе xfs. Решением является использование команды xfs_growfs
В результате получилось увеличить раздел sda3 с 14Gb до 19Gb, а монтируемый раздел sdb1 с 4,8Gb до 15Gb.
KVM: Как увеличить/уменьшить размер диска виртуальной машины?
В этой статье мы поговорим об изменении размера дисков виртуальной машины KVM, рассмотрим используемые форматы виртуальных дисков. Покажем, как правильно увеличить диск виртуальной машины в гипервизоре KVM на Linux без потери данных, а также обсудим варианты уменьшения размеров дисков.
Увеличение диска виртуальной машины KVM
Расширение виртуального диска со стороны KVM
Для того, чтобы проводить работы с диском, виртуальная машина должна быть отключена, иначе мы не сможем что-либо сделать. Рассмотрим пример с увеличением диска размер которого изначально был 20Гб.
Чтобы посмотреть параметры диска виртуальной машины KVM, воспользуйтесь командой:
qemu-img info /путь_до_диска
Вывод команды будет примерно такой:
Мы видим, что у нас есть два поля которые указывают на размер, это virtual_size и disk_size:
- virtual_size – размер виртуального диска, указанный при создании или расширении диска (в этом примере максимальный размер диска – 20 Гб);
- disk_size — размер файла диска в текущий момент, т.е. сколько сейчас занимает образ диска места на физическом сервере (относится только к формату qcow). В нашем пример виртуальный диск занимает всего 1,6 Гб на хранилище.
И сразу о форматах. Я рекомендую при создании виртуальных машин на KVM использовать формат диска qcow2, а не raw. Чуть позже я объясню почему.
Следующим шагом расширим диск виртуальной машины, на 5Gb (для корректного расширения диска у виртуальной машины не должно быть снапшотов!).
# qemu-img resize /путь до диска +5G
Если сразу проверить вывод информации об образе диска, мы увидим, что он расширился:
# qemu-img info /путь_до_диска
Часть работы мы сделали, но требуется и проведение работ со стороны виртуальной машины в гостевой ОС. Далее мы покажем, как увеличить размер диска в гостевых CentOS 7 и Windows Server 2012.
Расширение раздела в виртуальной машине с Linux CentOS
После расширения диска со стороны сервера, нужно запустить виртуальную машину и подключиться к ней по ssh. Все работы будут проводиться с помощью утилиты управления разделами жестких дисков fdisk.
После подключения к серверу, проверяем наличие нашего дополнительно подключенного места:
На скриншоте видно, раздел /dev/vda2 имеет размер 20Gb, а доступное место на диске у нас больше.
Подправим этот момент и расширим раздел /dev/vda2 до максимального объема:
После чего нам нужно сделать рестарт виртуальной машины и выполнить команду для применения расширения диска:
В итоге мы получили расширенный раздел /dev/vda2. Теперь по порядку, что именно мы сделали:
- fdisk /dev/vda — запустили утилиту fdisk подключившись к разделу /dev/vda
- /d — удаляем раздел, по умолчанию это раздел 2 который нам и нужен, поэтому в следующем пункте жмем просто Enter
- /n – создаем новый раздел, в следующем пункте так же просто жмем Enter или вводим p, далее Enter так как создаваемый раздел по умолчанию будет 2.
- При указании первого и последнего сектора так же жмем просто Enter, если мы хотим расширить раздел до максимума, если вы хотите указать конкретный размер, в последнем секторе указывайте размер диска как указано в меню +size
Размер не может быть меньше, чем был ранее! - /w — применяем наши настройки.
После перезагрузки проверим диск командой:
В некоторых источниках для выполнения данной процедуры указывают команду:
Но с файловой системой xfs это не работает!
Работы по расширению диска на виртуальной машине с ОС CentOS 7 закончены.
Увеличение диска в гостевой Windows Server
Подключаемся к виртуальной машине через rdp или VNC и выполняем работы по расширению диска.
Откройте Server Manager -> Tools -> Computer Management;
В открывшемся окне выбираем в меню Disk Management, после чего у вас должны отобразиться все ваши диски и неразмеченное пространство, которые мы добавили со стороны гипервизора KVM;
Выбираем нужный диск и нажимаем Extended Volume;
По умолчанию для увеличения размера диска будет предложено все доступное место;
Нажимаем «далее» и завершаем расширение. После данной процедуры, ваш раздел в системе должен будет расшириться;
Хотелось бы добавить, что перед процедурой расширения диска для виртуальной машины, я советую выполнять резервное копирование самого диска. Остановите виртуальную машину и скопируйте образ диска в директорию для бэкапа или в любую директорию, в которой есть свободное место. Если в ходе работ, что-то пойдет не так, вы всегда сможете вернуть образ виртуального диска из бэкапа.
Как уменьшить размер виртуального диска в KVM?
В своей работе, ранее я довольно часто сталкивался с данным вопросом, но к сожалению, безболезненно уменьшить диск на виртуальной машине в KVM нельзя! Единственный приемлемый размер уменьшения размер диска виртуальной машины KVM на физическом хранилище – его сжатие через конвертацию.
В интернете фигурирует много статей, якобы благодаря которым вы можете уменьшить размер диска на виртуальной машине, но это не работает.
Я приведу несколько примеров, на которые я натыкался и которые лично мною были проверены.
Уменьшение KVM диска с помощью утилиты qemu
На ряде ресурсов описаны действия, выполняемые с помощью утилиты qemu. В них предлагается уменьшить размер диска виртуальной машины с помощью команды:
qemu-img resize /путь_до_диска -5G — уменьшаем диск на 5G
Или такой вариант с указанием конкретного размера:
qemu-img resize /путь_до_диска 25G — указываем размер диска в 25G
Что происходит после выполнения данной команды? Запускаем сервер и конечно система не грузится:
Я пробовал сначала уменьшить раздел из-под системы с помощью утилиты fdisk, но в таком случае, система так же перестает загружаться, даже если вы пропустите шаг уменьшения диска с физического сервера и это логично. Раздел который мы уменьшаем, системный и соответственно ОС перестает загружаться, так как при уменьшении диска, информация по всей видимости уничтожается.
Уменьшение виртуального диска с подменой образа
Уже не такой распространенный в инструкциях вариант — это уменьшение диска, с подменой на старый. То есть, вы создаете новую виртуальную машину с нужным вам размером диска. После чего, подменяете старый образ диска в новый образ и судя по описанию статей в разных источниках, это работает. Я так же сделал проверку и это сломало файловую систему, как и в первом варианте. Я приведу пример команды:
virt-resize /старый_образ_диска /новый_образ_диска
Приводились так же варианты, с конвертацией диска с формата raw в формат qcow2, НО я изначально создаю машины в данном формате и объясню почему.
Форматы дисков KVM и сжатие диска в qcow2 формате
В самом начале статьи, я упомянул про эти два формата.
raw – в переводе «сырой». Преимущество формата, максимальная производительность, универсальность формата. Минусов масса, основные это:
- Диск занимает все дисковое пространство на физическом сервере, которое ему выделили;
- Нельзя создать снапшоты.
Qcow2 – это родной формат гипервизора QEMU, а так же QEMU-KVM. Это максимально удобный формат виртуального диска из всех поддерживаемых в KVM. Образ диска увеличивается по мере накопления данных на виртуальной машине, поддерживаются снапшоты.
Чем хорош формат qcow2? Вам в принципе не нужно уменьшать размер виртуального диска, так как диск занимает на сервере, ровно столько, сколько места там занято. Если же у вас данные на сервере постоянно перезаписываются и бывает такое, что диск «распух», его можно с легкостью сжать. Рассмотрим такой вариант. Я забью нулями некоторое дисковое пространство и после чего удалю файл:
dd if=/dev/zero of=/mytempfile
rm -rf /mytempfile
При проверке с сервера, образ диска сначала весил 2.4G после чего расширился до 5.9G:
# du -sh /путь_образа
# du -sh /путь_образа
То есть после удаления информации на виртуальной машине, диск обратно не сжался. Чтобы файл диска получил актуальный размер, я использую следующий метод:
Бэкапим файл диска, останавливаем виртуальную машину и после чего выполняем следующие действия:
qemu-img convert -O qcow2 /старый_образ /новый_образ
После чего можно проверить размеры двух дисков:
# du -sh /новый_диск
# du -sh /старый_диск
Как видим, размер сжатого диска 1.6G. Переименуем новый образ диска в нужный нам и запустим виртуальную машину:
Контрольная проверка с сервера:
# du -sh /образ_диска
Способ рабочий. За все время его использования, ни разу файловая система на виртуальной машине не умирала. Но настоятельно рекомендую перед подобными работами, создавать копию диска, если не хотите потерять данные.
Это все, что я хотел в данной статье рассказать. Если у кого-то из посетителей сайта есть рабочий способ по уменьшению диска на KVM, именно уменьшения (не сжатие) и именно рабочий, предлагайте свои варианты и я обязательно их протестирую.