Связаться со мной:
2 заметки с тегом

hdd

Изменение размера раздела в linux без потери данных.

Условие: диск размечен так

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  2097kB  1049kB                        bios_grub
 2      2097kB  514MB   512MB   ext2                  boot
 3      514MB   8706MB  8193MB  linux-swap(v1)
 4      8706MB  2000GB  1992GB  ext4

Раздел 4 это корень установленной на сервере ОС, требуется уменьшить этот раздел до 1000GB не поломав установленуую ОС и данные на разделе.

Для решения этой проблемы нам поможет утилита resize2fs, но для начала нам требуется чтобы модифицируемый раздел был отмонтирован. Поэтому загружаем сервер в recovery/rescue, т. е. с LiveCD.
В LiveCD выполняем

root@server:~# resize2fs /dev/sda4 1000G
resize2fs 1.42 (29-Nov-2011)
Please run 'e2fsck -f /dev/sda4' first.

В первый раз у меня программа ругнулась, что сначала нужно сделать e2fsck, делаем

root@server:~# e2fsck -f /dev/sda4
e2fsck 1.42 (29-Nov-2011)
/dev/sda4: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (478307399, counted=478307291).
Fix<y>? yes

Free inodes count wrong (121507397, counted=121507389).
Fix<y>? yes


/dev/sda4: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda4: 61891/121569280 files (0.1% non-contiguous), 7945765/486253056 blocks

Теперь повторно запускаем resize2fs

root@server:~# resize2fs /dev/sda4 1000G
resize2fs 1.42 (29-Nov-2011)
Resizing the filesystem on /dev/sda4 to 262144000 (4k) blocks.
The filesystem on /dev/sda4 is now 262144000 blocks long.

На этот раз все выполнилось успешно и раздел уменьшился. Грузимся в нормальный режим, проверяем что все работает. А освобожденное на диске место размечаем по своему усмотрению.

2014   e2fsck   GPT   hdd   resize   resize2fs

Перенос FreeBSD на другой жесткий диск с помощью clonehdd.

В моей домашней файлопомойке-торрентокачалке в один прекрасный день smartctl показал, что диск «помирает». Соответственно диск пришлось менять. А т.к raid’а там нет, то вариантов было 2: либо полностью устанавливать и настраивать систему на новом диске, либо каким-то образом попытаться перенести ОС с неисправного диска на новый. Естественно я стал искать решения по второму варианту, т.к настраивать все заново мне не хотелось.
Для переноса я использовал утилиту clonehdd, огромным плюсом этой утилиты является, то что она может перенести полностью установленную freebsd даже на диск другого размера. Для меня это было критично, т.к для замены в «закромах» мной был найден диск меньшего размера, чем стоял изначально. Т.к изначально скриншоты я не делал, скриншоты для статьи пришлось делать в виртуалке.
Установим clonehdd. Утилита есть в портах, установим

# whereis clonehdd
clonehdd: /usr/ports/sysutils/clonehdd
# cd /usr/ports/sysutils/clonehdd
# make install clean

Или устанавливаем из пакетов
Для старых версий freebsd:

# pkg_add -r clonehdd

Для новых версий:

# pkg install clonehdd

Затем выключаем тачку, подключаем новый диск и загружаемся. Теперь у нас подключено 2 диска:

ada0 - диск с системой
ada1 - новый диск на который нужно перенести нашу ОС

Перенести все довольно просто одной командой. Правда процесс довольно длительный(у меня он занял около 12 часов) и если работа ведется по ssh, то запускать лучше в screen. Запустим клонирование диска:

# clonehdd -src=ada0 -dst=ada1 -swap=1024 -force
-src - исходный диск
-dst - новый диск
-swap - сколько места выделить под своп
-force - не задавать лишних вопросов

Дожидаемся окончания клонирования, затем отсоединяем старый диск и подсоединяем его на его место новый и пробуем загрузится.
У меня все сразу загрузилось с нового диска без лишних телодвижений. А из старого диска я достал себе прикольный неодимовый магнит, больше он ни на что был не пригоден.

P.S.: Если впоследствии новый диск также выйдет из строя и потребуется снова переносить ОС на другой диск, то удалите в корне файл backup-mode. Иначе clonehdd будет завершаться с сообщением «You are working from backup device. Please stop clone script usage!!!» и ОС перенесена не будет.

2014   clonehdd   Freebsd   hdd