v

понеделник, май 26, 2008

Упражнение по LVM, RAID и dm-crypt.

Имаме машина с два хард диска, всеки с обем по 500Гб. Върху този обем ще съхраняваме данни. Част от тях са важни за нас, част от тях - не. Важните данни са застрашени по различни начини, но за целта на упражнението ще обърнем внимание на следните рискове:
  • физическа повреда на хард диск
  • кражба на диск или цялата машина и последващ достъп на трети лица до важните данни.

Първият проблем ще решим с използването на RAID 1 (mirroring) - важните данни ще се съхраняват паралелно и на двата диска от опитната постановка. При евентулна повреда на един от дисковете, ще разчитаме, че другият ще остане работещ.

Вторият проблем - неоторизиран физически достъп - ще бъде премахнат с използването на dm-crypt. Данните ще бъдат криптирани и за достъп до тях ще бъде нужен ключ, известен само на собственика на данните.

---

Решение 1



Върху всеки от дисковете създаваме по един дял, заемащ целия обем от 500Гб. На база на създадените дялове, изграждаме RAID 1 масив, който се криптира с dm-crypt.

По този начин имаме 100% разхищение на дисков обем - вторият ни хард диск работи изцяло за да репликира първия. Не само важните, но и всички останали данни са дублирани и криптирани.

Решение 2



Разделяме всеки от дисковете на два дяла по 250Гб. На базата на първия дял от първия диск и първия дял от втория диск създаваме RAID 1 масив, който се криптира с dm-crypt. Останалите два дяла се използват за общо предназначение без RAID и криптиране.

Решение 3 (подробно)


Към Решение 2 ще прибавим технологията LVM, която ще ни даде гъвкавост при евентуални бъдещи промени на постановката. По този начин ще реализираме RAID 1 върху LVM, което е нещо доста рядко като сценарий. Повечето хора правят обратното - LVM върху RAID 1 - така получават максимална сигурност и елегантна гъвкавост.

  • За целта ще създадем два physical volume на базата на двата ни хард диска по 500Гб.
pvcreate /dev/sdа
pvcreate /dev/sdb

  • След това на базата на създадените PV създаваме две volume group-и.
vgcreate disk1 /dev/sda
vgcreate disk2 /dev/sdb
  • От всяка volume group-а заделяме по 250Гб за целите на RAID масива. Останалия обем остава за общо предназначение. Формата на заделяне е чрез logical volume.

lvcreate -L250G -n LV1 disk1
lvcreate -L250G -n LV3 disk2
Оставащото място за LV2 и LV4 не е точно 250Гб заради начинът на измерване на обема на хард дисковете. За това е нужно останалото свободно място да се присъедини към новите LV-та чрез броя на свободните physical extent. За целта изпълняваме vgdisplay и преписваме стойностт на полето Free PE, след което изпълняваме:
lvcreate -l68290 -n LV2 disk1
lvcreate -l68290 -n LV4 disk2
Стойността 68290 е примерна.

  • Форматираме получените LV2 и LV4, след което можем да ги използваме:
mkfs.ext3 /dev/disk1/LV2
mkfs.ext3 /dev/disk2/LV4

mount /dev/disk1/LV2 /mnt/disk1_LV2
mount /dev/disk2/LV4 /mnt/disk2_LV4
  • Създаваме RAID 1 масивът:

mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/disk1/LV1 /dev/disk2/LV3
  • Така полученият /dev/md1 бива мапнат през dm-crypt към /dev/mapper/Crypto. По този начин всичко, което се запише на /dev/mapper/Crypto бива криптирано и след това записано на /dev/md1.

echo 0 `blockdev --getsize /dev/md1` crypt aes-plain
0123456789abcdef0123456789abcdef 0 /dev/md1 0 dmsetup create Crypto

  • След форматиране устройството може да бъде използвано:
mkfs.ext3 /dev/mapper/Crypto
mount /dev/mapper/Crypto /mnt/Crypto

Реализираната постановка е в процес на тестване към момента на писане на тази статия. За допълнителна информация:

http://www.saout.de/misc/dm-crypt/

публикувано от Росен Антонов @ 10:30   0 коментара

0 коментара:

Публикуване на коментар

Абонамент за Коментари за публикацията [Atom]

<< Начална страница