Назад | Перейти на главную страницу

Перераспределять место в разделах без потери данных

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md0               1829037   1745454         0 100% /
tmpfs                   255940         0    255940   0% /lib/init/rw
udev                     10240        44     10196   1% /dev
tmpfs                   255940         0    255940   0% /dev/shm
/dev/mapper/sys-srv  206424760  35519164 160419836  19% /srv

Это результат моего df на моем сервере. Очевидно, что мне нужен spance в md0, и я бы хотел взять его из / srv. Может ли кто-нибудь выяснить настройку моих дисков и посоветовать мне, как я могу увеличить 2 ГБ на разделе до 10 или более?

выход pvs:


  Incorrect metadata area header checksum
  Incorrect metadata area header checksum
  Incorrect metadata area header checksum
  Incorrect metadata area header checksum
  Incorrect metadata area header checksum
  Incorrect metadata area header checksum
  PV         VG   Fmt  Attr PSize   PFree
/dev/md0 lvm2 -- 232.88G 232.88G /dev/md1 sys lvm2 a- 231.02G 29.02G

вывод vgs:


  Incorrect metadata area header checksum
  VG   #PV #LV #SN Attr   VSize   VFree 
  sys    1   2   0 wz--n- 231.02G 29.02G

вывод lvs:


  Incorrect metadata area header checksum
  LV   VG   Attr   LSize   Origin Snap%  Move Log Copy% 
  srv  sys  -wi-ao 200.00G
swap sys -wi-ao 2.00G

fdsik -l вывод:


Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         243     1951866   fd  Linux raid autodetect
/dev/sda2             244       30401   242244135   fd  Linux raid autodetect

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         243     1951866   fd  Linux raid autodetect
/dev/sdb2             244       30401   242244135   fd  Linux raid autodetect

Disk /dev/md0: 1998 MB, 1998585856 bytes
2 heads, 4 sectors/track, 487936 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table

Disk /dev/md1: 248.0 GB, 248057888768 bytes
2 heads, 4 sectors/track, 60561008 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/dm-0: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/dm-1 doesn't contain a valid partition table

Ваше устройство / srv использует LVM, который позволяет вам довольно свободно перераспределять дисковое пространство в пуле управляемых устройств LVM, к сожалению, похоже, что ваш корневой раздел смонтирован непосредственно с вашего RAID-массива md0, поэтому вы, вероятно, не сможете перераспределить пространство через LVM.

Вместо этого вы можете смонтировать часть того, что находится в / под / SRV, используя mount --bind, это часть того, что должно находиться в / live в / srv, освобождая место на / dev / md0.

Я бы посоветовал вам переместить домашние области (/ home) или точки монтирования / var, поскольку они обычно больше, но вы можете исследовать это самостоятельно, используя du -sh /* чтобы сообщить вам об использовании диска всем, что находится в /.

Затем вы можете скопировать содержимое большого каталога в / srv и связать его с монтированием, а затем перемонтировать / где-нибудь еще, чтобы удалить старое содержимое скопированного каталога, пример рецепта:

mkdir /srv/var
cp -a /var/* /srv/var/
mount --bind /var /srv/var
mkdir /tmp/root
mount /dev/md0 /tmp/root
#rm -rf /tmp/root/var

Обратите внимание: если вы работаете с какой-либо частью файловой системы, которая может использоваться, то лучше всего это делать в однопользовательском режиме и будьте осторожны! Вы можете просто переименовать скопированный раздел на / для тестирования, чтобы убедиться, что он работает, прежде чем удалять его.

Вам нужно будет добавить больше деталей. Макет раздела (вывод fdisk -l) и / dev / mapper в dfвывод, вероятно, означает, что вы используете LVM, поэтому, если это так (вывод pvs; vgs; lvs). Также содержание /proc/mdstat поскольку ваш руд, кажется, подвергся рейду.

Сочетание RAID и LVM, которое ваш df вывод подразумевает, что перестановка пространства будет намного сложнее, чем если / и /srv оба находятся в одной группе томов LVM - вам может быть проще и быстрее проверять резервные копии, стирать машину, переупорядочивать и восстанавливать данные и конфигурацию из резервной копии. Вы можете переместить некоторые вещи из корневой файловой системы, сжав /svr, создание новых томов с освобожденным пространством, перемещение файлов и их монтирование в нужном месте - это купит вам немного места, пока вы не сможете запланировать более крупные изменения. /home часто подходит для этого, /var/log возможно, тоже, но это зависит от того, где используется пространство. Также в качестве быстрой победы убедитесь, что вы очистили кеши пакетов (aptitude clean в системах, подобных Debian) и переместите все старые журналы из /var/log что вам вряд ли понадобится.

Редактировать: (после добавления дополнительной детали)

Кажется, что-то не так в вашей настройке, поскольку md0 выглядит как том размером ~ 2 ГБ, смонтированный как простая файловая система, но LVM внес его в список (гораздо большего) pv.

У вас есть кусок свободного места на вашем другом pv / vg, поэтому, если вам это не нужно (например, потому что вы используете метод на основе снимков LVM для создания последовательных резервных копий с минимальным временем простоя), вы можете переместить туда root. Основная процедура будет следующей:

  1. Освободите место на вашем текущем / (очистите временные файлы, удалите кеш пакетов и / или старые журналы), чтобы вы не работали в пространстве с дымом
  2. Добавьте логический том для новой корневой файловой системы нужного размера с помощью lvcreate
  3. Загрузитесь с LiveCD или аналогичного (загрузка в режиме восстановления / в однопользовательском режиме, вероятно, тоже будет работать, и более вероятно, что вы поймете вашу схему RAID / LVM без дополнительных ухищрений)). Надеюсь, этот экземпляр (аварийная загрузка или живой компакт-диск) сможет увидеть ваши настройки RAID и LVM, и в этом случае:
  4. Скопируйте файловую систему raw с помощью dd if=/dev/md0 of=/dev/mapper/sys-root, измените его размер, чтобы заполнить больший логический том resize2fs /dev/mapper/sys-root (это потребует от вас бежать fsck сначала следуйте его инструкциям, чтобы сделать это), и задайте скопированной файловой системе новый UUID с uuidgen и tune2fs /dev/hdaX -U <uuid-generated-by-uuidgen> (также обратите внимание на этот UUID, он может вам понадобиться)
  5. смонтировать новую файловую систему и обновить /etc/fstab ссылаться на вашу новую файловую систему вместо старой
  6. перезагрузитесь и вручную сообщите grub (я предполагаю, что grub, если это старая установка, вы все еще можете использовать lilo в качестве загрузчика) для загрузки этой новой файловой системы вместо старой
  7. Если это сработало, вы должны с радостью использовать новую файловую систему как root, обновить ее конфигурацию grub, чтобы включить новую настройку в качестве опции, и повторно запустить grub-install с новой конфигурацией
  8. у вас все еще есть старая файловая система, и grub настроен на двойную загрузку между старым и новым, на случай, если что-то обнаружится позже

(во время перерыва в работе банкомат, поэтому у меня нет времени изучать точные команды / процедуры, необходимые для вышеупомянутого - просмотрите соответствующую документацию / форумы для получения более подробной информации)

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