Титла: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Dec 30, 2011, 16:45 Здравейте имам следния казус за решаване.
Трябва да направя RAID 1 масив от два диска на един сървър. Вече на Сървъра има други два диска които играят в масив и на които е операционната система - CentOS 5.6 За да не обърквам значително по-знаещите от мен хора, ще дам задачата така. На Server 1, има вече два закачен диска - закачени в RAID масив. Дисковете са съответно (sda - 320 GB) и (sdb - 320 GB) Искам да добавя още два диска които са съответно (sdc - 500 GB) и (sdd - 500 GB) Означенията sda, sdb, sdc и sdd ги давам за да бъде по лесно ориентирането в задачата. Така, sda и sdb си работят в масив, пускам сървъра и всичко е ток и жица, няма проблеми. Диск sdc които искам да вържа с sdd в RAID 1 е пълен с информация, тоест 500-те ГБ са пълни, а диск sdd е напълно празен и форматиран в ext3 файлова система и е с един партишън на него - sdd1. Дисковете sda, sdb, sdc са също с файлови системи ext3. Искрено се надявам някой да ме е разбрал и да ми помогне. Как да вържа двата диска (sdc - 500 GB) и (sdd - 500 GB) в RAID 1 масив с помоща на CentOS 5.6? Kaкви са настройките, какво се изпълнява като команди? Изобщо, какво да очаквам? Как да прикрепя (sdd - 500 GB) към (sdc - 500 GB) в RAID 1? Предварително благодаря на всички отзовали се в темата. Поздрави. П.П. Двуумих се в кой раздел да пусна темата, дали е хардуер за начинаещи или в настоящия раздел, в крайна сметка избрах настоящия, ако има някакъв разрез с форумните правила, извинявам се, нека бъде преместена ако модераторите преценят. Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: tovaimesushtestvuva в Dec 30, 2011, 18:41
Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: jet в Dec 30, 2011, 19:39 това може да те ориентира донякъде, макар, че не е като твоя случай:
http://www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-system-incl-grub2-configuration-debian-squeeze-p4 ($2) Винаги можеш да си оbъркаш ръцете и да замажеш данните, затова Backup! Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: teleport в Dec 30, 2011, 20:41 Няма проблем да се направи, но ще се наложи да се копират 2 пъти по 500G между sdc и sdd.
Като начало: дай изхода от 'fdisk -l /dev/sda', 'cat /proc/mdstat' и 'mount' без кавичките. Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: edmon в Dec 30, 2011, 21:02 Няма да може да направиш май РАЙД върху дискове и да запазиш информацията... ако така се сещам че искаш да направиш!
Трябва да направиш масива и тогава да го напълниш! Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: tovaimesushtestvuva в Dec 30, 2011, 21:17 Няма да може да направиш май РАЙД върху дискове и да запазиш информацията... ако така се сещам че искаш да направиш! Браво човече точно в целта си! Пък този, който си прави експерименти с неща, които работят и иска да ги развали проблема си е само негов! Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: romeo_ninov в Dec 30, 2011, 21:31 Няма да може да направиш май РАЙД върху дискове и да запазиш информацията... ако така се сещам че искаш да направиш!Всъщност в горния случай няма никакъв проблем да се направи. Но с малкото условие че това е логически том с две копия. Процедурата е следната 1. прави се VG с sdd 2. прави се том в тази група 3. копира се информацията от sdc в тома 4. добавя се sdc към VG 5. увеличава се броя на копията на тома Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: teleport в Dec 30, 2011, 21:46 Напротив, напълно е възможно:
Цитат Диск sdc които искам да вържа с sdd в RAID 1 е пълен с информация, тоест 500-те ГБ са пълни, а диск sdd е напълно празен и форматиран в ext3 файлова система и е с един партишън на него - sdd1. Безопасната последователност: fdisk /dev/sdd - сменяме типа на първия партишън на FD - linux raid auto. записваме. Създаваме нов raid ниво 1 с 1 диск: mdadm --create /dev/md1 -n 2 -l 1 /dev/sdd1 missing Форматираме го: mkfs.ext3 /dev/md1 Монтираме го: mount /dev/md1 /mnt Копираме цялата информация без да се спира работата: rsync -avH /където/е/монтиран/sdc/ /mnt/ Премонтираме sdc read-only: mount -o remount,ro /където/е/монтиран/sdc/ Отново синхронизираме за променени файлове: rsync -avH /където/е/монтиран/sdc/ /mnt/ Демонтираме sdc. Монтираме md1 на негово място. Оправяме fstab-а да сочи към /dev/md1 вместо към /dev/sdcX Прибавяме sdc към масива: fdisk /dev/sdc - изтриваме партишъна, създаваме нов, променяме типа му на FD. Прибавяме sdc към масива: mdadm --manage /dev/md1 -a /dev/sdc1 Гледаме в /proc/mdstat как върви синхронизирането. С информацията от mount, fdisk -l /dev/sda и cat /proc/mdstat може да се уточнят командите. Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: tovaimesushtestvuva в Dec 30, 2011, 22:28 Напротив, напълно е възможно: Така и този филм във виртуална машина ли го играем или на реална ? Защото ако е на реална работеща ОС със сума ти инсталирани и работещи неща риска не си струва, освен ако имаш достатъчно свободно време, пари и нерви за хабене :) Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: teleport в Dec 30, 2011, 22:38 Къде точно е риска? При която и да е стъпка ако се счупи единия хард (sdc или sdd) данните остават непокътнати на другия.
Kакво точно е инсталирано на sdc? според описанието машината работи с sda и sdb в mdadm. На "добавения" sdc едва ли има нещо различно от данни. Ако копирането на файлове с rsync между две локални ext3 системи или ребилдването на md raid 1 на линукс е "рисково" направо да ги гасим тия centos-и? Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: backinblack в Dec 30, 2011, 22:59 http://doxfer.webmin.com/Webmin/PartitionsOnLocalDisks
Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Dec 31, 2011, 01:10 Няма графична среда, за съжалениe няма и допълнителна платка. :( Няма проблем да се направи, но ще се наложи да се копират 2 пъти по 500G между sdc и sdd. За този вариант бях чувал. Но не знаех дали може да се приложи реално. Много благодаря на всички отзовали се в темата, страшно много ми помагате с вашите коментари и мнения. @teleport Много благодаря за детайлното показване на стъпките които трябва да извърша. И все пак, продължавам усилено да чета за това което трябва да направя и съм отворен за всякакви други коментари и мнения по темата. Поздрави. Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: edmon в Dec 31, 2011, 11:18 верно , че единия диск все пак някога може да липсва и да направиш масива на другия хард, а след това да ги синхронизираш... ех кво нещо е, като ти го покаже някой е толкова елементарно:)))
Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Jan 04, 2012, 17:49 Mалко ъп на темата да направя.
Някой може ли да ми обясни, кое е по-добре да се направи -хардуерен Raid масив или софтуерен Raid масив и защо? Друго нещо да попитам. Ще се объркат ли нещата по някакъв начин, ако на един сървър има два Raid масива, единия от които да е софтуерен а другия хардуерен? В момента умувам над това, в моя случай, ако хард дискове sda и sdb са вързани в софтуерен Raid масив, дали ще мога да направя хард дискове sdc и sdd в хардуерен масив? А специално за хардуерния Raid масив може ли след като съм вързал два диска в Raid 1, след това да ги вържа в Raid 10 и как става това? Предварително благодаря. Поздрави. Еdit 1: Понеже ми изпаднаха още два диска по 500 ГБ които ще нарека sde и sdf, идеята ми е следната: На Server1, да имам следните Raid масиви: Първи Raid масив, който в момента е съществуващ и от който ми boot-ва машината. Втори Raid 1 масив който да бъде направен от дискове sdc (който е пълен с информация) и sdd (който е празен, форматиран и с ext3 файлова система на него). Трети Raid 1 масив който да бъде направен от дискове sde 500 GB (който също е пълен с информация) и sdf 500 GB (който е празен, форматиран и с файлова система ext3 на него). За бъдещите два Raid 1 масива изградени от дискове | sdc + sdd | и | sde + sdf | се чудя дали да са софтуерни масиви или хардуерни. Искам още веднъж да благодаря на @teleport за детайлното обяснение по създаването на софтуерния Raid 1 масив. Но да си представим, че Raid 1 | sdc + sdd | и Raid 1 | sde + sdf | ги направя софтуерни или хардуерни, има ли възможност след като съм ги създал да са Raid 1, да обединя двата масива в един общ който да е Raid 10 и как мога да го направя това? Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: edmon в Jan 04, 2012, 21:53 Преди се твърдеше така: Ако нямаш 3ware райд контролер за над 300 долара значи по добре да си направиш софтуерен, защото всъщност имаш псевдо-хардуерен и няма да видиш разлика, а софтуерния по лесно се управлява!
Предполагам нямаш райд контролер за над 300 долара! Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Jan 05, 2012, 11:34 Да дам малко повече информация относно хардуера на сървъра:
Дъно: Asus P5B Deluxe Процесор: Core(TM)2 Quad CPU Q6600@2.4GHz Памет: 7 GB Bios: v02.58 За моето дъно е валидно следното за райд контрлера: Цитат RAID 0, 1, 0+1, 5 in the chipset Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: teleport в Jan 05, 2012, 12:04 Може да има всякаква комбинация от raid масиви.
На това дъно обаче хардуерен контролер не можеш да сложиш. Нямаш нито pci-e x4/x8 нито pci-x слотове. Има стари raid контролери, които са pci-x но работят на 32bit pci слот, примерно dell cerc sata 5.1, но примерния контролер е безумно бавен. Освен това хардуерните контролери имат изисквания към хардовете, примерно не можеш да ползваш "green" дискове, имат таблици с "одобрени" модели хардове, с конкретен firmware и т.н. На практика всички хардуерни контролери искат да "инициализират" новите хардове, ефективно изтривайки всичко на тях. Също така искат и батерия, в противен случай забраняват "write cache" и писането върху масивите става адски бавно. Също така не можеш да създадеш масив с "липсващ" диск както при md. Конвертирането на md raid от 1 към 5 или от 1 към 1+0 е теоретично възможно, но не се препоръчва да се прави на практика. Повечето хардуерни контролери могат да конвертират raid "нагоре", т.е. 1 към 5, 5 към 6, но обикновенно не могат надолу. Освен това евентуално спиране на тока или повреда на диск докато тече конверсията унищожава данните необратимо. Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Jan 05, 2012, 12:29 O.k. но ако не мога да сложа райд контролер, това какво е:
Цитат RAID 0, 1, 0+1, 5 in the chipset Например ето какво се опитах да направя. Промених някой настройки в Bios-a които ми се сториха, че трябва да ги променя, но уви нищо: Промяна в: Аdvanced Jmicron Controller Mode oт IDE на RAID Промяна на Configure SATA as [AHCI] на [RAID] Четох на едно място, ето тук - ЦЪК ($2) за влизане в RAID меню с комбинацията cntr + i, но не успях да влезна в такова меню. И все пак, предлагате да не се прави принципно хадруерен Raid ами софтуерен, така ли? ето тук има нещо по моя проблем ($2) Някакъв допълнителен коментар по него? Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: teleport в Jan 05, 2012, 12:44 Jmicron-а е два порта sata и един порт ide контролер, няма хардуерен raid в него. С промяната на AHCI към RAID рискуваш да си убиеш системата.
Принципно най-добре е хардуерен контролер със battery backup. Само че струва над 1000лв и нямаш къде да го сложиш. Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: Acho в Jan 05, 2012, 12:45 Иво, правил ли си някога RAID масиви ? Имаш ли опит с това ? Наясно ли си КОЕ/КАК/ЗАЩО ? Не е ли по-добре да помолиш някой, който е наясно и има опит да дойде да го изградите заедно това ? За 5 минути работа е, дето се казва. Така с отговори във форума малко ще ти е трудно, а е важно нещо - как ще го направиш този масив. Прави се веднъж, и се ползва много време след това. Не бива да се допускат грешки. Успехи.
Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Jan 05, 2012, 12:53 Иво, правил ли си някога RAID масиви?Не, не съм правил. :( Имаш ли опит с това ? Не, нямам. :( Наясно ли си КОЕ/КАК/ЗАЩО ? Наясно съм с теорията. Не е ли по-добре да помолиш някой, който е наясно и има опит да дойде да го изградите заедно това? За 5 минути работа е, дето се казва. Така с отговори във форума малко ще ти е трудно, а е важно нещо - как ще го направиш този масив. Прави се веднъж, и се ползва много време след това. Не бива да се допускат грешки. Успехи. Няма кой да помоля да ми покаже, оправям се сам. И разчитам на повече четене. Знам, че не бива да се допускат грешки, затова питам, за да ми обясни някой. :) [_]3 Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: Acho в Jan 05, 2012, 13:00 ОК. Намери и чети за твоя контролер, не само ПО ПРИНЦИП за всички видове. Разучи какво конкретно поддържа и също и какви дискове. За да си го сетнеш в най-добрия за теб режим като БЪРЗИНА/СИГУРНОСТ/ОБЕМ на масива. Отново само успехи пожелавам.
Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Jan 05, 2012, 15:03 Към настоящия момент нещата са в следния вариант:
На Server1 има закачени общо 4 хард диска. Два от тях - sda 320 GB и sdb 320 GB са в софтуерен Raid масив и от тях ми буутва машината. Другите два sdc 500 GB и sdd 500 GB ги сетнах в хардуерен Raid 1 масив през менюто на Raid котролера в което се влиза с cntr + I. След като сетнах sdc 500 GB и sdd 500 GB в хардуерен Raid 1, системата ми каза, че ако продължа, ще ми изтрие данните на дисковете, за което се бях приготил предварително и си бях направил backup на хард диск sdc на който имах информация. Та в момента sdc 500 GB и sdd 500 GB нямат партишъни на тях и файлова система. Не виждам масива който съм създал от sdc 500 GB и sdd 500 GB в конзолата, незнам защо. Като дам fdisk -l в конзолата ми излиза това: Last login: Thu Jan 5 14:11:58 2012 [root@Server1 ~]# fdisk -l Disk /dev/sda: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 fd Linux raid autodetect /dev/sda2 14 36363 291981375 fd Linux raid autodetect /dev/sda3 36364 38913 20482875 fd Linux raid autodetect Disk /dev/sdb: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 * 1 13 104391 fd Linux raid autodetect /dev/sdb2 14 36363 291981375 fd Linux raid autodetect /dev/sdb3 36364 38913 20482875 fd Linux raid autodetect Disk /dev/sdc: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdc doesn't contain a valid partition table Disk /dev/sdd: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdd doesn't contain a valid partition table Disk /dev/md2: 298.9 GB, 298988797952 bytes 2 heads, 4 sectors/track, 72995312 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md2 doesn't contain a valid partition table Disk /dev/md1: 20.9 GB, 20974338048 bytes 2 heads, 4 sectors/track, 5120688 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md1 doesn't contain a valid partition table Disk /dev/md0: 106 MB, 106823680 bytes 2 heads, 4 sectors/track, 26080 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md0 doesn't contain a valid partition table След като съм сетнал хардуерния Raid 1 масив, защо не го виждам в таблицата, кое съм сгрешил или кое ми убягва? [root@Server1 ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 104320 blocks [2/2] [UU] md1 : active raid1 sdb3[1] sda3[0] 20482752 blocks [2/2] [UU] md2 : active raid1 sdb2[1] sda2[0] 291981248 blocks [2/2] [UU] Цитат GNU nano 1.3.12 File: mtab След като направих по един партишън на дискове sdc и sdd които ужким направих в хардуерен Raid 1, fdisk -l ми показва следното: [root@Server1 ~]# fdisk -l Disk /dev/sda: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 fd Linux raid autodetect /dev/sda2 14 36363 291981375 fd Linux raid autodetect /dev/sda3 36364 38913 20482875 fd Linux raid autodetect Disk /dev/sdb: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 * 1 13 104391 fd Linux raid autodetect /dev/sdb2 14 36363 291981375 fd Linux raid autodetect /dev/sdb3 36364 38913 20482875 fd Linux raid autodetect Disk /dev/sdc: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 60801 488384001 83 Linux Disk /dev/sdd: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdd1 1 60801 488384001 83 Linux Disk /dev/md2: 298.9 GB, 298988797952 bytes 2 heads, 4 sectors/track, 72995312 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md2 doesn't contain a valid partition table Disk /dev/md1: 20.9 GB, 20974338048 bytes 2 heads, 4 sectors/track, 5120688 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md1 doesn't contain a valid partition table Disk /dev/md0: 106 MB, 106823680 bytes 2 heads, 4 sectors/track, 26080 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md0 doesn't contain a valid partition table Обаче когато реших да създам файлова система ext3 на дискове sdc и sdd системата ми даде следното: [root@Server1 ~]# mkfs.ext3 /dev/sdc1 mke2fs 1.39 (29-May-2006) /dev/sdc1 is apparently in use by the system; will not make a filesystem here! [root@Server1 ~]# mkfs.ext3 /dev/sdd1 mke2fs 1.39 (29-May-2006) /dev/sdd1 is apparently in use by the system; will not make a filesystem here! Код: [root@Server1 ~]# mdadm --detail --scan Опитах се да моунтна sdc1 в /data, но ми дава следното: Цитат [root@Server1 ~]# mount /dev/sdc1 /data sdc1 не е маунтнат, а нямам идея защо ми дава Цитат or /data busy:( Ясно е, че виждам само софтуерния Raid, а това което ми дава системата като проблем, явно fdisk не може да види хардуерния Raid 1 масив. Четох за драйвери които се инсталират когато се прави хардуерния Raid 1 под Уиндоус. Но при положение, че Bios-a ми вижда хардуерния Raid 1 защо са ми някакви драйвери? Не знам, леко съм объркан. Може би ми трябва някаква програмка с която да видя хардуерния Raid 1 масив, или може би хардуерния Raid 1 масив по подразбиране да е маунтнат някъде другаде и затова да не мога да го видя с fdisk. Странна работа. ??? Възможно ли е да не се вижда хардуерния масив заради този коментар в fstab: Цитат GNU nano 1.3.12 File: fstab Проблема е решен. Утре ще пиша как. [_]3 Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: teleport в Jan 06, 2012, 11:13 Нямаш хардуерен raid! Това което правиш с ctrl-i само "маркира" дисковете че "трябва" да са raid 1 за информация на драйвера. Под windows го прави драйвера за съответния контролер. Под линукс се казва dmraid.
Ползването на dmraid принципно е лоша идея. Има смисъл само ако ползваш dual boot windows+linux. Хардовете остават "вързани" към jmicron или intel портовете. Ако след направен dmraid разместиш хардовете между двата контролера ще размажеш данните. Същото ще се случи ако ги преместиш на друга машина. Случвало ми се е при откачане на dmraid хард и обратното му закачане bios-а да твърди че откачания хард е по-нов и актуален, а харда който е работил не е синхронен.... И следва загуба на данни. MD няма такива проблеми. Настрой си всичко на AHCI и си направи MD raid за да нямаш главоболия. Титла: Re: RAID 1 между два хард диска с помоща на CentOS 5.6 - как? Публикувано от: ivo_18 в Jan 09, 2012, 17:03 @teleport
Съгласен съм с теб, но няма да излагам защо съм съгласен, тъй като форума е публичен. Оправих се с хардуерните Raid 1 масиви които направих съответно направените от дискове sdc + sdd и sde + sdf. Искам да попитам, има ли безопасен начин, който да позволява, връзването на два хардуерни Raid 1 масива в един софтуерен Raid 10 и ако може, как става това? *Edit: #На хардуерния масив който ми е изграден от дискове sdc и sdd има информация която не бива да се загуби. Благодаря предварително. В момента, нещата седят така: Цитат Disk /dev/sda: 320.0 GB, 320072933376 bytes Цитат [root@big117 ~]# mount -l Поздрави. Edit: Aко някой се чуди къде му седят хардуерните Raid масиви след като ги създаде, може да ги търси в /dev/mapper/isw_нещо си. От експериментите които проведох, става ясно, че mdadm не може да бъде изпълняван под dmraid. |