"осторожно, много букв!"
(1) Для начала хотелось бы набросать примерную схему и средства- Итак, мы имеем следующее железо
№ | Содержание | Кол-во |
1 | Процессор Intel Core i5-2500 (LGA1155/4 ядра/ 3.3ГГц/ 6Mb/ Intel® HD Graphics 2000) (CM8062300834203) | 1 |
2 | Вентилятор Scythe Shuriken Rev.B (S478/775/1155/1156/1366/754/939/940/AM2+/AM3) (SCSK-1100) | 1 |
3 | Мат.плата Asus P8P67 EVO S-1155 iP67 4xDDR3 4+4xSATA 3xPCI-E16x ALC892 -8ch 2xG-Lan USB3.0 ATX (P8P67 EVO (B3)) | 1 |
4 | Память DDR3 4Gb PC10666(1333) 1x4Gb Corsair (9-9-9-24) (CMV4GX3M1A1333C9) | 4 |
5 | Жесткий диск SATA-3 500Gb WD Black (7200rpm, 32Mb) (WD5002AALX) | 1 |
6 | Жесткий диск SATA-3 3,0Tb WD Green WD30EZRX | 7 |
7 | Видеокарта PCI-E NV GT440 1Gb 128bit DDR3 [Point of View] HDMI+DVI+VGA oem | 1 |
8 | Блок питания 1000W Thermaltake ATX TR2 RX APFC, 140mm Fan, Cab Manag, RTL (TRX-1000MPCEU 80+) | 1 |
9 | Корпус Chieftec LCX-01B-B-SL-500 500W | 1 |
10 | Вентилятор 92x92x25 3pin Zalman ZM-F2 (тихий) | 5 |
11 | Вентилятор 120x120x25 Zalman ZM-F3 (тихий) | 2 |
12 | ИБП APC BK650EI | 1 |
- OS Linux Debian 6 X64
- В которой WD Black системный раздел, а WD Green разделы под soft raid(mdadm(raid5+hotspare))
- Поверх которого будет работать LVM
- Поверх которого будет работать файловая система
- В которую Backula будет складывать бэкапы пользователей
(2) Поскольку на нормальный raid денег не хватило, ставим Debian и начинаем собирать soft raid на mdadm
Установка Debian процесс достаточно тривиальный, я его пропущу. Но хочу заметить одну вещь. Я его поставил на голую пятисотку, если у вас будет возможность, то советую сделать soft raid на lvm для системы в простом зеркале, lvm это умеет. Либо вам придётся делать backup'ы директории /etc сервера бэкапов, поскольку lvm хранит там метаданные своих дисков, и если они потеряются будет достаточно неприятно, хотя не критично. То есть RAID и все разделы соберуться, но про снапшоты скорее всего можно будет забыть.
Чтобы не терять очерёдности дисков, и при выходе из строя какого либо HDD сделаем постоянные ссылки для построения рэйда(мы их привяжем к конкретному SATA порту), их сразу можно будет пометить в корзине.
Запишите следующий скрипт.
root@backup:~# cat > look-at-dev
#!/bin/bash
for i in $(ls /dev/sd?)
do
udevadm info -a -p $(udevadm info -q path -n ${i}) | grep "looking at device"
shift
done
Теперь выполните его.
root@backup:~# chmod +x ./look-at-dev
root@backup:~# ./look-at-dev
looking at device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda':
looking at device '/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb':
looking at device '/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sdc':
looking at device '/devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdd':
looking at device '/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sde':
looking at device '/devices/pci0000:00/0000:00:1f.2/host5/target5:0:0/5:0:0:0/block/sdf':
looking at device '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/host8/target8:0:0/8:0:0:0/block/sdg':
looking at device '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/host9/target9:0:0/9:0:0:0/block/sdh':
Поскольку на материнской плате 2 SATA контроллера, очерёдность хостов немножко изменена.
как вы могли заметить, я выбрал достаточно необычную схему обозначения блочных устройств:
/dev/sl1sys
Это значит, что HDD принадлежит к 1-му из 8-ми слотов в корзине и имеет системную принадлежность.
пример 2
/dev/sl4rd
Это значит, что HDD принадлежит к 4-му из 8-ми слотов в корзине, и имеет принадлежность к RAID массиву.
На основе этих данных мы можем построить правила udev:
root@backup:~# cat > /etc/udev/rules.d/10-persistent-hdd.rules
#slot 1 system disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host8", OPTIONS="all_partitions", NAME+="sl1sys%n"
#slot 2 raid disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host9", OPTIONS="all_partitions", NAME+="sl2rd%n"
#slot 3 system disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host0", OPTIONS="all_partitions", NAME+="sl3rd%n"
#slot 4 system disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host1", OPTIONS="all_partitions", NAME+="sl4rd%n"
#slot 5 system disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host2", OPTIONS="all_partitions", NAME+="sl5rd%n"
#slot 6 system disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host3", OPTIONS="all_partitions", NAME+="sl6rd%n"
#slot 7 system disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host4", OPTIONS="all_partitions", NAME+="sl7rd%n"
#slot 8 system disk
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host5", OPTIONS="all_partitions", NAME+="sl8rd%n"
Небольшое отступление для описания udev:
Правила для udev пишутся достаточно просто. В начале нужно описать набор переменных, с которыми должно сопоставляться правило, после чего по необходимости можно указать опции и назначение имени устройства хардлинка(задаётся коммандой NAME+=""), либо симлинка(SYMLINK+=""). Так же в опциях можно задавать владельца, различные параметры доступа, использовать конструкцию goto и прочие фишки(подробнее читайте http://wiki.debian.org/ru/udev). Возьмём для примера последнюю строку конфига (SUBSYSTEM=="block", SUBSYSTEMS=="scsi") Она означает, что устройство должно относиться к блочным и иметь тип scsi. (KERNELS=="host5") значит, что он должен находиться на 5-м порту(см. рисунок ^), (OPTIONS="all_partitions") означает принудительную обработку всех разделов диска, (NAME+="sl8rd%n") означает, что мы мы присваиваем устройству HardLink c именем sl8rd%n, где %n означает, что если это раздел, то ему будет присвоена цифра.
Посмотреть триплеты можно коммандой
udevadm info -a -p $(udevadm info -q path -n /dev/"Имя устройства")
p.s. KERNEL name у устройства не меняется, просто у устройства создаётся еще одна точка входа, либо symlink.
Посмотрим что у нас получилось.
root@backup:~# ls /dev/sl[1-9]*
/dev/sl1sys /dev/sl1sys1 /dev/sl1sys2 /dev/sl1sys5 /dev/sl2rd /dev/sl3rd /dev/sl4rd /dev/sl5rd /dev/sl6rd /dev/sl7rd /dev/sl8rd
ok, но не забываем, что kernel name тоже остаются, не запутайтесь
root@backup:~# ls /dev/sd*
/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdg1 /dev/sdg2 /dev/sdg5 /dev/sdh
Осталось подписать диски, и можно начинать конфигурировать MDADM
Ставим MDADM
root@backup:~# apt-get update
root@backup:~# apt-get install mdadm
Теперь разметим разделы и установим метку диска "Raid", чтобы при старте системы ядро уже знало из чего ей собирать softraid
Тут я хотел бы сделать небольшое отступление. В этой статье я буду оперировать разными величинами, к примеру Терабайт и Тибибайт. Многие путаются в них, так как МЭК не так давно ввела свои двоичные приставки (про это подробнее можно почитать тут Тебибайт), но вкраце различия следующие: для получения килобайта нужно 1 байт умножить на 1000, а для получения кибибайта на 1024. При небольших величинах это было не заметно, но с появлением Терабайтных жестких дисков разница разительна.
Еще хочется пояснить по какой причине мы не будем использовать старый добрый FDISK и MBR, а воспользуемся современными PARTED и GPT. GPT позволяет создавать разделы диска размером до 9.4 ЗБ (9.4 × 1021 байт), в то время как MBR может работать только с 2.2 ТБ (2.2 × 1012 байт). Подробнее можно почитать тут. Что касается программ разметки, FDISK не умеет работать работать с GPT, что описано в его мануале(fdisk doesn't understand GUID Partition Table (GPT) and it is not designed for large partitions. In particular case use more advanced GNU parted(8).). По этой причине мы и воспользуемся PARTED.
Приведу пример для диска /dev/sl2rd
root@backup:~# parted /dev/sl2rd
GNU Parted 2.3
Using /dev/sl2rd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sl2rd will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
(parted) unit TB
(parted) mkpart primary 0.00TB 3.00TB
(parted) print
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sl2rd: 3,00TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 0,00TB 3,00TB 3,00TB primary
(parted) toggle 1 raid
(parted) print
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sl2rd: 3,00TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 0,00TB 3,00TB 3,00TB primary raid
(parted) quit
Information: You may need to update /etc/fstab.
В конце этих манипуляций у меня получились следующие разделы.
parted -l
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary raid
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary raid
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary raid
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdd: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary raid
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sde: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary raid
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdf: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary raid
Model: ATA WDC WD5002AALX-0 (scsi)
Disk /dev/sdg: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 480GB 480GB primary ext4 boot
2 480GB 500GB 20,3GB extended
5 480GB 500GB 20,3GB logical linux-swap(v1)
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdh: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB primary raid
Теперь нам нужно объединить в SoftRaid разделы /dev/sl[1-8]rd1.
Для начала посчитаем сколько у нас свободных дисков под SoftRaid.
root@backup:~# parted -l | grep raid | wc -l
7
Исходя из этой цифры создаём устройство RAID массива, поскольку у нас всётаки backup-server, а не сервер баз данных, нас больше интересует надёжность, нежели скорость. По этому создадим RAID6.
Для мониторинга воспользуемся следующей конструкцией.
watch -n 1 cat /proc/mdstat
Создалим RAID 6-го уровня.
root@backup:~# mdadm --create /dev/md0 --level=6 --raid-devices=7 /dev/sl[1-8]rd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
Проверим как создаётся массив.
root@backup:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdf1[6] sde1[5] sdd1[4] sdc1[3] sdb1[2] sda1[1] sdh1[0]
14651317760 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
[>....................] resync = 0.5% (14665216/2930263552) finish=666.0min speed=72955K/sec
unused devices: <none>
Наступил долгий период сборки массива.
Как вы могли заметить, для обозначения дисков в RAID mdadm использует KERNELNAME устройства, но не беспокойтесь, при выходе из строя диска вы всегда сможете произвести ассоциацию скриптом look-at-dev, который мы использовали в начале статьи.
Теперь занесём созданный нами RAID в файл конфигурации.
root@backup:~# mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Прошло много времени, у меня оно собиралось больше 20-ти часов.
Мы можем убедиться, что RAID собрался и устройство /dev/md0 появилось.
root@backup:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdf1[6] sde1[5] sdd1[4] sdc1[3] sdb1[2] sda1[1] sdh1[0]
14651317760 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
unused devices: <none>
root@backup:~# ls /dev/md*Перезагрузимся и убедимся, что RAID стартует.
/dev/md0
/dev/md:
root@backup:~# cat /proc/mdstatНе паникуйте если вы увидите строчку md0 : active (auto-read-only), это произашло из за того, что массив не задействован, хотя имеет статус active.
Personalities : [raid6] [raid5] [raid4]
md0 : active (auto-read-only) raid6 sdh1[0] sdf1[6] sde1[5] sdd1[4] sdc1[3] sdb1[2] sda1[1]
14651317760 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
unused devices: <none>
(3) Пришло время натянуть LVM
Для начала мы его установим и подгрузим.
root@backup:~# apt-get install lvm2Разметим наш массив.
root@backup:~# modprobe dm-mod
root@backup:~# parted /dev/md0Убедитесь в том, что партиция была создана.
GNU Parted 2.3
Using /dev/md0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) unit TB
(parted) mkpart primary 0.00TB 15.00TB
(parted) toggle 1 lvm
(parted) print
Model: Linux Software RAID Array (md)
Disk /dev/md0: 15,0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 0,00TB 15,0TB 15,0TB primary lvm
(parted) quit
Information: You may need to update /etc/fstab.
root@backup:~# ls /dev/md*Теперь можно создавать Physical volume.
/dev/md0 /dev/md0p1
root@backup:~# pvcreate /dev/md0p1
Physical volume "/dev/md0p1" successfully created
Эта команда создает в начале диска дескриптор группы томов.
Если вы получили ошибку инициализации диска с таблицей разделов -- проверьте, что работаете именно с нужным диском, и когда полностью будете уверены в том, что делаете, выполните следующие команды.
dd if=/dev/zero of=/dev/diskname bs=1k count=1Теперь стоит убедиться, что Physical volume был создан и имеет расчётный размер
blockdev --rereadpt /dev/"diskname"
root@backup:~# concalc "(3e12/(1024^4))*(7-2)"Где 3e12 = 3*10^12 = 3000000000000 - количество байт на одном 3-х терабайтном жестком диске, которое мы делим на 1024 в четвёртой степени, чем приводим её к Тибибайтам и из этой суммы рассчитываем по формуле hddsize*(n-2), где n — число дисков в массиве, а hddsize — размер наименьшего диска.
13.6424205265939236
root@backup:~# pvdisplay
--- Physical volume ---PV Name /dev/md0p1VG Name backup-serv-storagePV Size 13,65 TiB / not usable 0Allocatable yesPE Size 4,00 MiBTotal PE 3576980Free PE 3576980Allocated PE 0PV UUID fqaK7P-Ck1s-U5fG-LLKu-m1tu-bj4R-9ieYNo
Для создания группы томов воспользуемся командой 'vgcreate.
root@backup:~# vgcreate backup-serv-storage /dev/md0p1
Volume group "backup-serv-storage" successfully created(4) Создадим файловую систему
Создадим логический раздел lv_main полностью заполняющий группу томов.
root@backup:~# lvcreate -l100%FREE backup-serv-storage -n lv_main
Logical volume "lv_main" created
root@backup:~# mkfs.ext4 /dev/backup-serv-storage/lv_mainСоздадим точку монтирования /mnt/srv и примонтируем lv туда.
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=640 blocks
915709952 inodes, 3662827520 blocks
183141376 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
111781 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
.
root@backup:~# mkdir /srvИтак, раздел монтируется, и имеет нужный нам объём, отмонтируем его, пропишем в /etc/fstab и убедимся, что он монтируется автоматом
root@backup:~# mount /dev/backup-serv-storage/lv_main /srv/
root@backup:~# df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sl1sys1 440G 1001M 417G 1% /
tmpfs 7,9G 0 7,9G 0% /lib/init/rw
udev 7,9G 224K 7,9G 1% /dev
tmpfs 7,9G 0 7,9G 0% /dev/shm
/dev/mapper/backup--serv--storage-lv_main 14T 143M 13T 1% /srv
root@backup:~# umount /srv
root@backup:~# mount | grep lv_main
root@backup:~#
root@backup:~# apt-get install gawk util-linux
root@backup:~# echo "`blkid | grep lv
UUID="9c82ce17-9d5c-47aa-b528-0a69756b1b94" /srv ext4 defaults 0 2
root@backup:~# echo "`blkid | grep lv_main | awk '{ print $2 }'` /srv ext4 defaults 0 2" >> /etc/fstab
root@backup:~# mount -a
root@backup:~# mount | grep lv_main(5) Тестирование стабильности RAID'a
/dev/mapper/backup--serv--storage-lv_main on /srv type ext4 (rw)
Выберем какой либо диск (я выбрал sl8rd он последний в корзине, хотя можете выбрать любой).
Посмотрим на каком хосту он весит.
root@backup:~# cat /etc/udev/rules.d/10-persistent-hdd.rules | grep sl8Теперь по хосту узнаем KERNELNAME.
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="host5", OPTIONS="all_partitions", NAME+="sl8rd%n"
root@backup:~# ./look-at-dev | grep host5И обнаруживаем его в массиве.
looking at device '/devices/pci0000:00/0000:00:1f.2/host5/target5:0:0/5:0:0:0/block/sdf':
root@backup:~# cat /proc/mdstatПометим его как сбойный и посмотрим что получилось.
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdh1[0] sdf1[6] sde1[5] sdd1[4] sdc1[3] sdb1[2] sda1[1]
14651317760 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
unused devices: <none>
root@backup:~# mdadm /dev/md0 -f /dev/sdf1
mdadm: set /dev/sdf1 faulty in /dev/md0
root@backup:~# cat /proc/mdstatО ужас, у нас появился сбойный диск.
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdh1[0] sdf1[6](F) sde1[5] sdd1[4] sdc1[3] sdb1[2] sda1[1]
14651317760 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]
unused devices: <none>
Удалим его из массива, сделаем вид, что сбегали в магазин, купили новый винт, разбили по всем правилам и установили на законное место в 8-й слот.
root@backup:~# mdadm /dev/md0 -r /dev/sdf1
mdadm: hot removed /dev/sdf1 from /dev/md0
root@backup:~# mdadm /dev/md0 -a /dev/sdf1
mdadm: re-added /dev/sdf1
root@backup:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdf1[6] sdh1[0] sde1[5] sdd1[4] sdc1[3] sdb1[2] sda1[1]
14651317760 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]
[>....................] recovery = 0.0% (301708/2930263552) finish=647.4min speed=75427K/sec
unused devices: <none>
Ура, товарищи, мы спасли данные, массив пересобирается!
(5) Тестирование скорости RAID'a
Насколько мне известно, есть 2 способа ускорить SoftRaid.
1) Увеличение параметра ядра stripe_cache_size(значение по умолчанию 256).
2) Перенос bitmap на отдельный диск.
Для первого способа, я не нашел формулы расчёта нужного значения, поэтому придётся оттестировать производительность на разных значениях.
Запишем скрипт, и начнём тестирование.
root@backup:~# cat > /root/test_stripe_cache_size
#!/bin/bash
for cache_size in 256 512 768 1024 2048 4096 8192 16834 32768; do
for i in {1..3}; do
echo ${cache_size} > /sys/block/md0/md/stripe_cache_size
sync
echo 3 > /proc/sys/vm/drop_caches
echo "stripe_cache_size: ${cache_size} (${i}/3)"
# for write
dd if=/dev/zero of=/srv/ddfile bs=3145728 count=5460
# for read
dd if=/srv/ddfile of=/dev/null bs=3145728 count=5460
rm /srv/ddfile
done
done
root@backup:~# chmod +x /root/test_stripe_cache_size
root@backup:~# /root/test_stripe_cache_sizeЛучшие значения у нас появились на stripe_cache_size: 8192.
stripe_cache_size: 256 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 108,836 c, 158 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 20,3155 c, 845 MB/c
stripe_cache_size: 256 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 108,063 c, 159 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 14,916 c, 1,2 GB/c
stripe_cache_size: 256 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 107,863 c, 159 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 21,5183 c, 798 MB/c
stripe_cache_size: 512 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 74,6074 c, 230 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 17,0099 c, 1,0 GB/c
stripe_cache_size: 512 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 75,4031 c, 228 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 18,4218 c, 932 MB/c
stripe_cache_size: 512 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 72,4509 c, 237 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 17,3658 c, 989 MB/c
stripe_cache_size: 768 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 73,4809 c, 234 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 18,3502 c, 936 MB/c
stripe_cache_size: 768 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 72,3034 c, 238 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 16,6831 c, 1,0 GB/c
stripe_cache_size: 768 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 48,6807 c, 353 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 18,9392 c, 907 MB/c
stripe_cache_size: 1024 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 61,3801 c, 280 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 18,4058 c, 933 MB/c
stripe_cache_size: 1024 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 55,621 c, 309 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 16,5315 c, 1,0 GB/c
stripe_cache_size: 1024 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 71,8451 c, 239 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 17,6429 c, 974 MB/c
stripe_cache_size: 2048 (1/3)
^[^L5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 57,9617 c, 296 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 16,7519 c, 1,0 GB/c
stripe_cache_size: 2048 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 51,4401 c, 334 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 17,3024 c, 993 MB/c
stripe_cache_size: 2048 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 53,268 c, 322 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 17,2876 c, 994 MB/c
stripe_cache_size: 4096 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 49,4748 c, 347 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 17,6018 c, 976 MB/c
stripe_cache_size: 4096 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 49,3429 c, 348 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 16,413 c, 1,0 GB/c
stripe_cache_size: 4096 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 50,5514 c, 340 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 18,3916 c, 934 MB/c
stripe_cache_size: 8192 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 37,089 c, 463 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 18,6571 c, 921 MB/c
stripe_cache_size: 8192 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 35,8546 c, 479 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 18,0778 c, 950 MB/c
stripe_cache_size: 8192 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 36,4707 c, 471 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 20,0427 c, 857 MB/c
stripe_cache_size: 16834 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 36,8509 c, 466 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 24,1728 c, 711 MB/c
stripe_cache_size: 16834 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 37,0602 c, 463 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 19,6549 c, 874 MB/c
stripe_cache_size: 16834 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 37,245 c, 461 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 19,4358 c, 884 MB/c
stripe_cache_size: 32768 (1/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 38,5621 c, 445 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 23,3799 c, 735 MB/c
stripe_cache_size: 32768 (2/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 39,1207 c, 439 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 26,6075 c, 646 MB/c
stripe_cache_size: 32768 (3/3)
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 38,4429 c, 447 MB/c
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 22,6575 c, 758 MB/c
Его и установим по умолчанию.
Откройте файл /etc/rc.local своим любимым редактором
и приведите к следующему виду.
root@backup:~# cat /etc/rc.localТеперь перенесём файл битмапа с рейда, на системный раздел, и удостоверимся что всё применилось.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo 8192 > /sys/block/md0/md/stripe_cache_size
exit 0
root@backup:~# mdadm -G /dev/md0 -b /var/md0_intentПредупреждая ваш вопрос, я скажу, что RAID прекрасно соберётся, и без файла битмапа.
root@backup:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdh1[0] sdf1[6] sde1[5] sdd1[4] sdc1[3] sdb1[2] sda1[1]
14651317760 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
bitmap: 0/350 pages [0KB], 4096KB chunk, file: /var/md0_intent
unused devices: <none>
Посмотрим чего мы добились.
root@backup:~# dd if=/dev/zero of=/srv/ddfile bs=3145728 count=5460
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 36,2717 c, 474 MB/c
root@backup:~# dd if=/srv/ddfile of=/dev/null bs=3145728 count=5460
5460+0 записей считано
5460+0 записей написано
скопировано 17175674880 байт (17 GB), 13,612 c, 1,3 GB/c
root@backup:~# rm /srv/ddfile
160 MB/c на 900 MB/c против 474 MB/c на 1,3 GB/c
Не плохое повышение производительности.
Продолжение в статье Итак BackupServer part2 Bacula-Server
(6) Bacula Server =>>
Используемый материал
/dev/head
http://wiki.debian.org/ru/udev
http://www.opennet.ru/base/sys/udev_dynamic.txt.html
http://communities.netapp.com/community/netapp-blogs/databases/blog/2009/06/26/udev-rules-to-enable-device-name-persistence
http://www.softpanorama.org/Commercial_linuxes/Devices/udev.shtml
http://igorka.com.ua/2010-03-24/znakomstvo-s-udev-v-ubuntu/
http://hackaday.com/2009/09/18/how-to-write-udev-rules/
http://bryanesmith.com/documents/mdadm/index.html
http://company.yandex.ru/academic/kit/1.xml
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch26_:_Linux_Software_RAID
http://xgu.ru/wiki/LVM
http://www.cyberciti.biz/tips/fdisk-unable-to-create-partition-greater-2tb.html
http://www.tolaris.com/2008/10/01/moving-your-linux-root-partition-to-raid/
http://habrahabr.ru/blogs/linux/111036/
https://peterkieser.com/2009/11/29/raid-mdraid-stripe_cache_size-vs-write-transfer/
Комментариев нет:
Отправить комментарий