Перестройка дискового массива

Исходная диспозиция

Имеем следующую иерархию каталогов в /var для хранения резервных копий:

/var
├── archives
│   ├── bacula-nfs
│   ├── bacula-sd
│   │   ├── clients
│   │   └── servers
│   │       ├── 1c
│   │       ├── booker
│   │       └── srv03
│   ├── data4g
│   │   └── bacula-sd
│   │       ├── catalog
│   │       └── storage
│   └── nfs
│       └── pm3
│           └── dump
 ...

Где /var/archives - точка монтирования /dev/md2, а /var/archives/data4g - точка монтирования /dev/mapper/arch1--vg-data4g (/dev/arch1-vg/data4g).

Каталоги /var/archives/bacula-nfs, /var/archives/nfs и /var/archives/nfs/pm3 экспортируются по NFSv3.

Конечный результат

Необходимо перенести данные с /dev/md2 на LVM в группу томов arch1-vg и объединить с данными из /dev/arch1-vg/data4g на логическом томе arch с сохранением иерархии каталогов. Точкой монтирования для /dev/arch1-vg/arch становится /var/archive.

Задачи по пересборке дискового массива на хранилище резервных копий

Подготовка логического тома на новых дисках

  • Создать том на весь доступный объём /dev/md4 в группе томов arch1-vg
    # lvcreate -l100%FREE arch1-vg -n arch
    # mkfs.ext4 /dev/arch1-vg/arch
    # mkdir -p /var/arch1
    # echo "/dev/mapper/arch1--vg-arch /var/arch1  	ext4	defaults 0 2" >> /etc/fstab
    # mount /var/arch1
    

Перенос данных на новый том

  • Остановить сервисы:
    • NFS:
      # service portmap stop
      # service nfs-kernel-server stop
      
    • bacula-sd:
      # service bacula-sd stop
      
  • Перемонтировать /dev/md2 и /dev/mapper/arch1--vg-data4g в режиме read-only:
    # mount -o remount,ro /var/archives/data4g
    # mount -o remount,ro /var/archives
    
  • Скопировать содержимое /var/archives в /var/arch1:
    # cp -a /var/archives/* /var/arch1/
    
    и проверить результат.
  • Размонтировать /dev/md2, /dev/mapper/arch1--vg-data4g и /dev/mapper/arch1--vg-arch:
    # umount /var/archives/data4g
    # umount /var/archives
    # umount /var/arch1
    
    внести изменения в файл /etc/fstab:
    #/dev/md2 /var/archives					ext4 	defaults 0 2
    #/dev/mapper/arch1--vg-data4g /var/archives/data4g  	ext4	defaults 0 2
    /dev/mapper/arch1--vg-arch /var/archives  	ext4	defaults 0 2
    
    и смонтировать /dev/mapper/arch1--vg-arch в новое место:
    # mount /var/archives
    
  • Запустить сервисы:
    • NFS:
      # service portmap start
      # service nfs-kernel-server start
      
    • bacula-sd:
      # service bacula-sd start
      
    и проверить их работу.
  • Перезагрузить сервер. Проверить работу сервисов.

Удаление старых сущностей

Осталось избавиться от нунужных компонентов: том data4g в группе томов arch1-vg и массив /dev/md2.

Удаление логического тома

Так как на предыдущем шаге логический том data4g был размонтирован, то его можно просто удалить из группы томов:

# lvremove /dev/arch1-vg/data4g

Удаление массива md2

Для начала смотрим, какие устройства входят в состав массива:

# mdadm --detail /dev/md2
/dev/md2:
        Version : 1.2
  Creation Time : Fri Nov 22 15:48:36 2013
     Raid Level : raid1
     Array Size : 2930133824 (2794.39 GiB 3000.46 GB)
  Used Dev Size : 2930133824 (2794.39 GiB 3000.46 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon Apr  1 09:02:52 2024
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : arch1:2  (local to host arch1)
           UUID : 446cdac4:c3ab0a6e:c7e22a46:cf1f7af0
         Events : 7284

    Number   Major   Minor   RaidDevice State
       2       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1

В конце вывода видим список компонентов массива. В нашем случае это /dev/sdc1 и /dev/sdd1.

Для удаления массива выполняем следующие команды:

# mdadm --stop /dev/md2
# mdadm --remove /dev/md2
# mdadm --zero-superblock /dev/sdc1 /dev/sdd1

Удаляем упоминание /dev/md2 из конфигурационного файла /etc/mdadm/mdadm.conf:

ARRAY /dev/md0 metadata=0.90 UUID=6e31ab6f:389c56dd:a4db64c1:9b31be6c
ARRAY /dev/md1 metadata=1.2 name=arch1:1 UUID=8ab6160c:0db47821:db744ff9:a5725158
#ARRAY /dev/md2 metadata=1.2 name=arch1:2 UUID=446cdac4:c3ab0a6e:c7e22a46:cf1f7af0
#ARRAY /dev/md3 metadata=1.2 name=arch1:3 UUID=e0d7b2d7:b2ae67fc:ca4c0c19:cc3e380a

И обновляем конфигурацию mdadm в образе initramfs:

# update-initramfs -u