LINUX.ORG.RU
ФорумAdmin

Скопировать HDD

 ,


0

2

На один 4Тб HDD установлена CentOS 7.2. Докупил еще один 4Тб HDD, который хочу использовать в качестве резервного - если 1-ый винт навернется, переключиться в BIOS на загрузку со 2-го. Зеркальный софтовый рейд делать не охота, так как потеряется 4Тб дискового пространства. Подскажите, как клонировать HDD (перенести разделы /; /boot; /var; /usr) и время от времени поддерживать их в актуальном состоянии. Файловая система XFS, на всех разделах, кроме /boot (ext3).

Что я планирую сделать: 1. Разметить новый HDD (sdb) идентично старому (parted) 2. Перенести загрузчик (grub2) из sda в sdb (не совсем понимаю, как это сделать, да и можно ли это делать из под работающей системы или только с LiveCD) 3. Чем можно время от времени клонировать разделы: /; /boot; /usr; /var из под работающей системы для поддержания данных на sdb в актуальном состоянии?


Вы чего-то противоречивого просите. С одной стороны стороны:

Зеркальный софтовый рейд делать не охота, так как потеряется 4Тб дискового пространства.

с другой:

2. Перенести загрузчик (grub2) из sda в sdb (не совсем понимаю, как это сделать, да и можно ли это делать из под работающей системы или только с LiveCD) 3. Чем можно время от времени клонировать разделы: /; /boot; /usr; /var из под работающей системы для поддержания данных на sdb в актуальном состоянии?

anc ★★★★★
()
Ответ на: комментарий от anc

Разделы /home и /backup (3Тб) не клонируются, и на разных HDD будут различные данные. В случае поломки sda, /home будет восстанавливаться из внешнего бекапа или копии, хранимой в sdb /backup, а данными в sda /backup можно пожертвовать.

Barz
() автор топика
Ответ на: комментарий от Barz

Тогда если ничего критичного в «остановке» нет, то обычный rsync.
Предварительно проверьте все на виртуалке и потом пускайте в прод.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от Barz

Раз учишься.

Тебе нужно переписать fstab под sdb и через

--boot-directory=/*sdb mount point*/boot
указать грубу поставить на sdb не только загрузочную запись, но и файлы.

Vovanano
()
Ответ на: комментарий от Vovanano

Тебе нужно переписать fstab под sdb

Предполагаю что здесь вы хотели сказать, переписать UUID в fstab для sdb. А то там может быть монтирование и по LABEL и по /dev/sdaX и ваш совет может оказаться не совсем «полным».

anc ★★★★★
()
Ответ на: комментарий от anc

fstab у меня выглядит следующим образом:

proc /proc proc defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/sda1 none swap sw 0 0
/dev/sda2 /boot ext3 defaults 0 0
Посему, надеюсь, что проблем с UUID не будет, так как указаны номера разделов (/dev/sdX) и редактировать fstab не нужно.

А вот по поводу: «указать грубу поставить на sdb не только загрузочную запись, но и файлы» - спасибо за дополнение!

Barz
() автор топика
Ответ на: комментарий от Barz

А вот по поводу: «указать грубу поставить на sdb не только загрузочную запись, но и файлы» - спасибо за дополнение!

Я правда не уверен что оно нужно в твоем случае. Ты же их с sda rsync'ом копировать будешь...

Vovanano
()

Как именно у вас разбит диск? Если у вас 3 ТБ /home на отдельно разделе (именно разделе диска, а не LVM), то проще сделать из остального RAID-1, не трогая /home.

mky ★★★★★
()
Ответ на: комментарий от mky

Да, вариант, что часть разделов можно запихать в raid я не предусмотрел, спасибо за наводку! Но пока у меня появилась проблема, что диск sdb уже чем-то занят, и с ним ничего нельзя сделать.

# parted -l
Model: .....
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start   End     Size    File system     Name  Flags
 9      1049kB  2097kB  1049kB                        bios_grub
 1      2097kB  17.2GB  17.2GB  linux-swap(v1)
 2      17.2GB  18.2GB  1050MB  ext3
 3      18.2GB  31.1GB  12.9GB  xfs
...


Model: ...
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name        Flags
 9      1049kB  2097kB  1049kB               grub        bios_grub
 1      2097kB  17.2GB  17.2GB               Linux swap
 2      17.2GB  18.2GB  1050MB               primary
 3      18.2GB  31.1GB  12.9GB               primary
 ...
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        12G  661M   12G   6% /
tmpfs            16G   24K   16G   1% /dev/shm
tmpfs            16G   17M   16G   1% /run
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/sda2       970M  179M  741M  20% /boot
... далее только sda
tmpfs           3.2G     0  3.2G   0% /run/user/1004
# mdadm --detail
mdadm: No devices given.

Вот что пытался сделать:

# mkfs.ext4 /dev/sdb2
/dev/sdb2 is apparently in use by the system; will not make a filesystem here!

# blockdev --rereadpt /dev/sdb
blockdev: ioctl error on BLKRRPART: Device or resource busy

Получилось отформатировать mkfs.ext4 /dev/sdb3-8 и mkfs.xfs /dev/sdb3-8, а вот sdb2 форматироваться никак не желает (перезагрузка сервера не помогает). Подскажите, как посмотреть, что его заняло и как его освободить?

Barz
() автор топика

если конвертнуть в btrfs и дублировать на другой диск снапшотами, то это станет можно делать без остановки.

но вообще тебе просто нужен третий диск.

t184256 ★★★★★
()

Осилить документацию по lvm mirroring & snapshot?

cheerfulboy
()
Ответ на: комментарий от Barz

sdb2 это swap. Видимо очень умный initrd или юнит systemd при загрузке активирует swap и на /dev/sdb2 (″cat /proc/swaps″).

И нужно смотреть ″cat /proc/mounts″, так как ″df″ читает ″/etc/mtab″, а он не всегда совпадает с /proc.

И, ещё добавлю, что initrd, производящий монтирование корня, может делать это на основании UUID. Точно не знаю, это нужно изучить отдельно, чтобы при загрузке со второго диска не оказалось, что корень взят с первого.

mky ★★★★★
()
Ответ на: комментарий от mky

Нет, sdb2 - это /boot, swap - sdb1, хотя это и не важно, так как заняты и sdb1 и sdb2...

В /proc/mounts и /proc/swaps не обнаружил sdb:

# cat /proc/mounts | grep sdb
# cat /proc/swaps
/dev/sda1                               partition       16777212        0       -1

Подскажите, где еще искать виновника, занявшего sdb1 и sdb2?

Barz
() автор топика

Ты можешь сделать raid для разделов.

Deleted
()

Я один не понимаю, нафига директорию /var держать в актуальном состоянии? Объясните, пожалста.

PunkoIvan ★★★★
()
Ответ на: комментарий от anonymous

lsof | grep sdb - пусто, а вот:

cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1]
      16760832 blocks super 1.2 [2/1] [_U]

md127 : active raid1 sdb2[1]
      523712 blocks super 1.2 [2/1] [_U]

unused devices: <none>
... Ну вот откуда он там взялся?! На этом HDD был ранее raid, но я же его полностью переразбил в parted...

Шаги по удалению raid (может кому-то пригодится):

mdadm -S /dev/md127
mdadm -S /dev/md126
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
reboot
...
cat /proc/mdstat
Personalities :
unused devices: <none>
УРА!!! :)

Barz
() автор топика
Ответ на: комментарий от PunkoIvan

Да, похоже что вы один такой. Во первых ТС написал «время от времени клонировать разделы», т.е. ему нужна рабочая копия которая заведется в случае падения первого харда. Во вторых реально в /var может быть мноого чего, минимум что вспоминается с дэфолтными путями /var/www, mysql, lxc. В третьих, директории в /var/run, /var/log именно директории, вот решили вы очередного демона установить а он пользует пути вида /var/run/daemon /var/log/daemon. Все выше описанное это только то что быстро пришло в голову, наверняка еще чего-нибудь вспомнить можно.

anc ★★★★★
()
Ответ на: комментарий от Barz

Да, да без --zero-superblock счастья не будет :) Хотя вру, можно еще dd if=/dev/zero но не удобно :)

anc ★★★★★
()
Ответ на: комментарий от anc

Про мускуль и веб, и прочее я согласен, но комп-то для домашнего использования, зачем там вся эта радость? Хотя вот на счёт каталога run я не уверен, надо попробовать снести её и ребутнуться. Спасибо за объяснение.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

Про мускуль и веб, и прочее я согласен, но комп-то для домашнего использования,

Так и дэфолтные пути в основном оставляют на таких, не «особо требовательных» к сервису машинках, и на домашних тоже, где можно погонять что-то ради интереса. А иногда и не только ради интереса, у меню например почтарь там для личного домена крутился до недавнего времени, нагрузки никакой, апач только для вэбморбы(круглый кубик) был, муська для нее же.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

Вспомнил о своём вполне домашнем медиа-сервере, которому нужен апач. Вопрос отпал, спасибо :)

PunkoIvan ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.