На основании предоставленной информации трудно сказать, что именно происходит, ваше предположение о проблеме с UUID, скорее всего, верно.
Вот как я могу выполнить вашу задачу:
Для последнего пункта я рекомендую следующий метод:
mount --bind
/dev, /proc, /sys
в новый «корень». Например.mount --bind /dev /mnt/nvmeroot/dev
chroot /mnt/nvmeroot/ /bin/bash
blkid
, чтобы узнать UUID новых разделов, соответствующим образом обновите /etc/fstab. grub-install
update-grub or grub2-mkconfig
Если что-то не работает:
e
(редактировать )в grub и удалите аргументы загрузки Linux в качестве параметров quiet, splash, rhgb
, чтобы вы могли видеть сообщения об ошибках во время загрузки. Согласно выходным данным lsblk --fs
, ваш /dev/vda2
содержит файловую систему btrfs
.
Это современная файловая система, которая может автоматически создавать иноды по -запросу и не имеет ограничений на количество инодов, кроме доступного места на диске. Вот почему отслеживание количества инодов на самом деле не имеет смысла для файловой системы типа btrfs
, и поэтому оно возвращает все нули для любых запросов статистики инодов.
Файловая система XFS (, как и файловая система /boot
на вашем /dev/vda1
дисковом устройстве ), также может создавать индексные дескрипторы по запросу -, но существует ограничение, которое устанавливается во время создания файловой системы и выражается как процент от общей емкости файловой системы. Ограничение по умолчанию позволяет 25% емкости файловой системы быть inodes, что означает огромное количество крошечных файлов. Это ограничение imaxpct
можно проверить с помощью команды xfs_info
в системе, использующей XFS в качестве корневой файловой системы :
# xfs_info /
meta-data=/dev/mapper/vgsys-root isize=512 agcount=4, agsize=488192 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0
= reflink=0
data = bsize=4096 blocks=1952768, imaxpct=25 <--- Here!
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Из-за этого в файловой системе XFS статистика индексных дескрипторов все еще может быть значимой, хотя для того, чтобы они стали важными, требуется довольно особая ситуация.Если текущее общее количество инодов в файловой системе XFS достигнуто, и это число все еще меньше процентного предела, установленного значением imaxpct
, и есть свободное место на диске, общее количество инодов в файловой системе XFS просто расти автоматически.
Но ваша файловая система XFS — /boot
, которая обычно имеет очень ограниченное количество файлов, так что эта проблема может относиться только к вам, если вы каким-то образом случайно скопировали огромное количество крошечных файлов в /boot
, а сейчас так не выглядит.
Ваши результаты df -h
и df -i
выглядят нормально. Но на btrfs
они не всегда могут рассказать всю историю. В зависимости от того, какая версия btrfs-progs
используется в вашей системе, существуют две команды, которые могут предоставить дополнительную информацию о дисковом пространстве, доступном в файловой системе btrfs
.
С btrfs-progs
старше версии 3.18:
btrfs fi df /
С btrfs-progs
версии 3.18 или новее:
sudo btrfs fi usage /
btrfs
представляет собой сложную файловую систему, которая по существу включает в себя функции LVM и программного RAID, поэтому ее распределение дискового пространства может быть более сложным, чем может отобразить обычная команда df
.
Для получения дополнительной информации см. вики BTRFS :.https://btrfs.wiki.kernel.org/index.php/FAQ#or_My_filesystem_is_full.2C_and_I.27ve_put_almost_nothing_into_it.21
Если конкретные команды btrfs -, упомянутые выше, указывают на то, что у вас на самом деле не хватает места в вашей корневой файловой системе, эта веб-страница может оказаться полезной:
https://ohthehugemanatee.org/blog/2019/02/11/btrfs-out-of-space-emergency-response/
По сути, вам может понадобиться запустить btrfs balance start /
, возможно, с опцией -dusage=<some percentage value>
, чтобы свести к минимуму время и количество требуемых операций записи. Но если в вашей BTRFS уже нет доступного места, вы не сможете запустить эту команду. В этом случае вам может понадобиться сначала расширить файловую систему на другое дисковое устройство.