Начална » как да » Как да настроите софтуерния RAID за Simple File Server на Ubuntu

    Как да настроите софтуерния RAID за Simple File Server на Ubuntu

    Имате ли нужда от файлов сървър на евтини, който е лесен за настройка, "рок солидна" надеждни с имейл предупреждение? ще ви покаже как да използвате Ubuntu, софтуерен RAID и SaMBa, за да постигнете точно това.

    Преглед

    Въпреки неотдавнашното бръмчене, което премества всичко в „всички могъщи“ облаци, понякога може да не искате информацията ви на някой друг сървър или просто да е невъзможно да се изтеглят обемите от данни, които се изискват от интернет всеки път (например разполагане на изображения ). Така че преди да изчистите място в бюджета си за решение за съхранение, помислете за конфигурация, която е безплатна за Linux.

    С това каза, че евтиното / свободното не означава „да се хвърли предпазливост към вятъра”, и за тази цел ще отбележим, че трябва да знаем, конфигурации, които трябва да се въведат в допълнение към използването на софтуер RAID, за да се постигне максимално съотношение цена / надеждност.

    Изображение от Filomena Scalise

    За софтуерния RAID

    Както подсказва името, това е RAID (Redundant Array of Inexpensive Disks) настройка, която се извършва напълно в софтуера, вместо да се използва специална хардуерна карта. Основното предимство на такова нещо е цената, тъй като тази специална карта е допълнителна премия за базовата конфигурация на системата. Основните недостатъци са предимно производителността и известната надеждност, тъй като такава карта обикновено идва със собствения си RAM + CPU за извършване на изчисленията, необходими за математиката на излишъка, кеширане на данни за повишена производителност и допълнителната батерия, която поддържа неписани операции в кеша, докато мощността е възстановена в случай на изключване на захранването.

    Със софтуерен RAID настройка, жертвайки някои от производителността на системните процесори, за да се намалят общите разходи за системата, но с днешните централни процесори, режийните разходи са сравнително незначителни (особено ако вашият сървър ще бъде посветен основно на „файлов сървър“). Що се отнася до работата на диска, има наказание… но никога не съм срещал пречка от дисковата подсистема от сървъра, за да отбележа колко е дълбоко. Ръководството на Том за хардуера “Tom's goes RAID5” е стара, но изчерпателна статия за темата, която аз лично използвам като референция, но вземам бенчмарковете със солта, тъй като става дума за внедряване на софтуерен RAID в Windows (както при всичко останало, сигурен съм, че Linux е много по-добре: P).

    Предварителни

    • Търпението е младо, това е дълго четено.
    • Предполага се, че знаете какво е RAID и за какво се използва.
    • Това ръководство е написано с помощта на Ubuntu server9.10 x64, затова се предполага, че имате система, базирана на Debian, която да работи с.
    • Ще видите как използвам VIM като редакторска програма, това е само защото съм свикнал с него… можете да използвате всеки друг редактор, който искате.
    • Системата Ubuntu, която използвах за писане на това ръководство, беше инсталирана на диск на ключ. Това ми позволи да използвам sda1 като част от RAID масива, така че настройте съответно на вашата настройка.
    • В зависимост от типа на RAID, който искате да създадете, ще ви трябват поне два диска на вашата система и в това ръководство използваме 6 диска..

    Избиране на дискове, които правят масива

    Първата стъпка в избягването на капан е знанието за нейното съществуване (Туфир Хават от Дюни).

    Изборът на дисковете е жизненоважна стъпка, която не бива да се приема леко, и би било разумно да се възползвате от вашето истинско преживяване и да се вслушате в това предупреждение:

    правя НЕ използвайте дискове „потребителски клас“, за да създадете масив, използвайте дискове „сървър“!!!!!!

    Сега знам какво мислиш, не казваме ли, че ще отидем на евтини? и да, направихме, но това е точно едно от местата, където това е безразсъдно и трябва да се избягва. Независимо от тяхната атрактивна цена, твърдите дискове за потребителски клас не са проектирани да се използват в 24/7 “включен” тип употреба. Повярвай ми, твоят наистина е опитал това за теб. Най-малко четири потребителски диска в 3 сървъра, които имам такава настройка (поради бюджетни ограничения), се провалиха след около 1,5 ~ 1,8 години от първия ден на стартиране на сървъра. Макар да нямаше загуба на данни, защото RAID направи това добре и оцелели… моменти като този съкращават продължителността на живота на системния администратор, да не говорим за времето за поддържане на сървъра (нещо, което може да струва повече от дисковете с по-висок клас)..

    Някои може да кажат, че няма разлика в процента на неуспех между двата типа. Това може да е вярно, но въпреки тези твърдения, сървърните дискове все още имат по-високо ниво на SMART ограничения и QAing зад тях (както може да се види от факта, че те не са пуснати на пазара веднага щом потребителите са готови), така че аз все още силно препоръчвам, че вилица излишни $ $ $ за надстройка.

    Избор на RAID ниво.

    Макар че няма да се занимавам с всички налични опции (това е много добре документирано в записите на RAID wikipedia), чувствам, че трябва да отбележа, че винаги трябва да избирате поне RAID 6 или дори по-високи ( ще използваме Linux RAID10). Това е така, защото когато дискът се провали, има по-голям шанс за неизпълнение на съседен диск и след това имате повреда на “два диска”. Освен това, ако ще използвате големи дискове, тъй като по-големите дискове имат по-висока плътност на данните на повърхността на блюдото, шансът за повреда е по-висок. IMHO дискове от 2T и след това винаги ще попадат в тази категория, така че бъдете наясно.

    Нека да напуснем

    Дискове за разделяне

    Докато в Linux / GNU, можем да използваме цялото блоково устройство за нуждите на съхранението, ще използваме дялове, защото го прави по-лесно да използваме дискови спасителни средства в случай, че системата се е изпарила. Ние използваме програмата "fdisk" тук, но ако ще използвате дискове по-големи от 2T, ще трябва да използвате програма за разделяне, която поддържа разделяне на GPT като разделени..

    sudo fdisk / dev / sdb

    Забележка: Забелязах, че е възможно да се направи масив, без да се променя типа на дяла, но тъй като това е начинът, описан по цялата мрежа, ще последвам този пример (отново, когато използвам цялото блок устройство, това не е необходимо).

    Веднъж в fdisk клавишите са:

    n; за нов дял
    въведете
    p; за първичен дял
    въведете
    1; брой на дяла
    enter; приемете по подразбиране
    enter; приемете по подразбиране
    T ; , за да промените типа
    fd; определя типа да бъде “Linux raid auto detect” (83 часа)
    w; пишете промени на диска и излизате

    Изплакнете и повторете всички дискове, които ще бъдат част от масива.

    Създаване на Linux RAID10 масив

    Предимството на използването на „Linux raid10 ”е, че знае как да се възползва от нечетен брой дискове, за да повиши производителността и устойчивостта още по-далеч от ванилия RAID10, в допълнение към факта, че при използването му масивът“ 10 ”може да бъде създаден в един единствен стъпка.

    Създайте масива от дисковете, които сме подготвили в последната стъпка чрез издаване:

    sudo mdadm --create / dev / md0 --chunk = 256 - ниво = 10 -p f2 - poiber-devices = 5 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 - -verbose

    ЗабележкаТова е само един ред, въпреки факта, че представителството го разделя на две.

    Да разделим параметрите надолу:

    • “-Chunk = 256” - Размерът на байтовете, на които са разбити райдните ленти, и този размер се препоръчва за нови / големи дискове (2Т устройствата, използвани за да направят това ръководство без съмнение в тази категория).
    • - ниво = 10 - Използва се Linux raid10 (ако се изисква традиционен рейд, поради каквато и да е причина, трябва да създадете два масива и да се присъедините към тях).
    • “-P f2” - използва плана за ротация “далеч”, вижте бележката по-долу за повече информация и “2” казва, че масивът ще запази две копия на данните.

    Забележка: Ние използваме "далечния" план, защото това води до физическото разпределение на данните на дисковете да НЕ бъде едно и също. Това помага да се преодолее ситуацията, в която хардуерът на едно от устройствата се проваля поради производствена грешка (и не мисля, че „това няма да се случи с мен“ като твоята). Поради факта, че двата диска са от една и съща марка и модел, са били използвани по същия начин и традиционно са съхранявали данните на едно и също физическо място… Съществува риск, че устройството, притежаващо копието на данните, не е било успешно. също или е близо до и няма да осигури необходимата еластичност, докато не пристигне заместващ диск. Планът „далеч“ прави разпространението на данните до напълно различно физическо местоположение на дисковете за копиране в допълнение към използването на дискове, които не са близо един до друг в корпуса на компютъра. Повече информация можете да намерите тук и в линковете по-долу.

    След като масивът е създаден, той ще започне процеса на синхронизация. Докато може да искате да изчакате заради традициите (тъй като това може да отнеме известно време), можете да започнете да използвате масива веднага.

    Напредъкът може да се наблюдава чрез:

    watch -d cat / proc / mdstat

    Създайте конфигурационния файл mdadm.conf

    Докато е доказано, че Ubuntu просто знае да сканира и активира масива автоматично при стартиране, за пълнотата и учтивостта за следващия администратор ще създадем файла. Системата ви не създава автоматично файла и се опитва да запомни всички компоненти / дялове на вашия RAID набор, е кръста на здравия разум на системния администратор. Тази информация може и трябва да се съхранява в mdadm.conf файла. Форматирането може да е трудно, но за щастие изходът на командата mdadm -detail -scan -verbose ви осигурява.

    Забележка: Казано е, че: "Повечето дистрибуции очакват mdadm.conf файла в / etc /, а не / etc / mdadm. Вярвам, че това е "ubuntu-ism", за да го има като /etc/mdadm/mdadm.conf. Поради факта, че ние сте използвайки Ubuntu тук, ние просто ще отидем с него.

    sudo mdadm --detail --scan --verbose> /etc/mdadm/mdadm.conf

    ВАЖНО! трябва да премахнете едно „0“ от новосъздадения файл, защото синтаксисът, получен от горната команда, не е напълно правилен (все още не е операционна система GNU / Linux).

    Ако искате да видите проблема, който причинява тази грешна конфигурация, можете да подадете „сканиране " в този момент, преди да извършите настройката:

    mdadm - изследване - сканиране

    За да преодолеете това, редактирайте файла /etc/mdadm/mdadm.conf и промяна:

    метаданни = 00.90

    Чета:

    метаданни = 0.90

    Изпълнява се mdadm -показание -скан Командата сега трябва да се върне без грешка.

    Настройка на файловата система на масива

    Използвах ext4 за този пример, защото за мен той просто се основаваше на познаването на файловата система ext3, която дойде преди това, като осигури обещаната по-добра производителност и функции.
    Препоръчвам ви да отделите време, за да проучите каква файлова система е по-подходяща за вашите нужди и добро начало за това е статията "Коя Linux файлова система трябва да изберете?".

    sudo mkfs.ext4 / dev / md0

    Забележка: В този случай не разделих получения масив, защото тогава просто не се нуждаех от него, тъй като заявителят специално поиска поне 3.5T непрекъснато пространство. С това каза, ако исках да създам дялове, щеше да се наложи да използвам GPT способност за разделяне на дялове, като например „parted“..

    монтиране

    Създайте точката на монтиране:

    sudo mkdir / media / raid10

    Забележка: Това може да бъде всяко местоположение, горното е само пример.

    Тъй като имаме работа с „сглобено устройство“, ще го направим не използвайте UUID на файловата система, който е на устройството за монтиране (както се препоръчва за други типове устройства в нашето "какво е Linux fstab и как работи"), тъй като системата може действително да види част от файловата система на отделен диск и опитвам се да неправилно монтирайте го директно. за да преодолеем това, искаме изрично да изчакаме устройството да бъде „сглобено“, преди да опитаме да го монтираме, и ще използваме името на сглобения масив („md“) в рамките на fstab за да постигнем това.
    Редактирайте файла fstab:

    sudo vim / etc / fstab

    И добавете към него този ред:

    / dev / md0 / media / raid10 / ext4 1 2

    Забележка: Ако промените местоположението на монтиране или файловата система от примера, ще трябва съответно да коригирате горното.

    Използвайте mount с автоматичния параметър (-a), за да симулирате зареждане на системата, така че да знаете, че конфигурацията работи правилно и че RAID устройството ще бъде автоматично монтирано, когато системата се рестартира:

    sudo mount -a

    Сега трябва да можете да виждате масива, монтиран с командата “mount” без параметри.

    Имейл сигнали за RAID масив

    За разлика от хардуерните RAID масиви, със софтуерен масив няма контролер, който да започне да пищи, за да ви уведоми, когато нещо се обърка. Затова предупрежденията по имейл ще бъдат единственият начин да знаем дали нещо се е случило с един или повече дискове в масива и по този начин да го направи най-важна стъпка.

    Следвайте ръководството „Как да конфигурирате сигналите за електронна поща в Linux с помощта на Gmail или SMTP“ и когато се свържете, се върнете тук, за да изпълните конкретните стъпки на RAID.

    Потвърдете, че mdadm може да изпраща имейл
    Командата по-долу ще каже на mdadm да пуска само един имейл и да затвори.

    sudo mdadm --монитор --scan - тест --oneshot

    Ако успеете, трябва да получавате имейл с подробности за състоянието на масива.

    Задайте конфигурацията на mdadm, за да изпратите имейл при стартиране
    Макар да не е абсолютно задължително, хубаво е да получавате актуализация от време на време от машината, за да ни уведомите, че способността на електронната поща все още работи и състоянието на масива. Вашият вероятно няма да бъде претоварен с имейли, тъй като тази настройка засяга само стартиращи фирми (които на сървърите не трябва да има много).
    Редактирайте конфигурационния файл на mdadm:

    sudo vim / etc / default / mdadm

    Добавете -тест параметър DAEMON_OPTIONS раздел, така че да изглежда така:

    DAEMON_OPTIONS = "- syslog --test"

    Можете да рестартирате машината само, за да се уверите, че е „в контура”, но това не е задължително.

    Конфигурация на Samba

    Инсталирането на SaMBa на Linux сървър позволява да действа като файловия сървър на Windows. За да получим данните, които хостваме на Linux сървъра, достъпни за Windows клиентите, ще инсталираме и конфигурираме SaMBa.
    Смешно е да се отбележи, че името на пакета на SaMBa е игра на думи от протокола на Microsoft, използван за споделяне на файлове, наречен SMB (Service Message Block).

    В това ръководство сървърът се използва за тестови цели, така че ще позволим достъп до неговия дял без изисквайки парола, може да искате да копаете малко повече за това как да настроите разрешения, след като настройката приключи.

    Също така се препоръчва да създадете непривилегирован потребител, който да е собственик на файловете. В този пример използваме потребителя „geek“, който сме създали за тази задача. Обяснения за това как да създадете потребител и да управлявате собствеността и разрешенията можете да намерите в нашето ръководство „Създаване на нов потребител на Ubuntu Server 9.10“ и „Ръководство за начинаещи за управление на потребители и групи в Linux“..

    Инсталиране на Samba:

    aptitude инсталирате samba

    Редактирайте конфигурационния файл на самба:

    sudo vim /etc/samba/smb.conf

    Добавете дял, наречен „общ“, който ще предостави достъп до точката на монтиране „/ media / raid10 / general“, като добавите долната част към файла.

    [общ]
    path = / media / raid10 / общо
    сила на потребителя = маниак
    сила група = маниак
    само за четене = Не
    create mask = 0777
    директория маска = 0777
    само за гости = Да
    guest ok = Да

    Настройките по-горе правят споделянето адресируемо без парола за всеки и прави собственика по подразбиране на файловете, които потребителят „geek“.

    За справка, този файл smb.conf е взет от работещ сървър.

    Рестартирайте услугата на самба, за да се отразят настройките:

    sudo /etc/init.d/samba рестартиране

    Веднъж направено, можете да използвате testparm за да видите настройките, приложени към сървъра на самба.
    това е, сървърът сега трябва да е достъпен от всеки прозорец, като използва:

    \ Сървъра namegeneral

    Отстраняване на проблеми

    Когато се налага да отстранявате проблем или дискът е пропаднал в масив, предлагам да се обърнете към mdadm cheat sheet (това е, което правя…).

    По принцип трябва да запомните, че когато дискът се провали, трябва да го премахнете от масива, да изключите машината, да замените повреденото устройство с подмяна и след това да „добавите” новото устройство към масива, след като сте създали съответния диск. оформление (дялове) върху него, ако е необходимо.

    След като сте готови, може да искате да се уверите, че масивът се възстановява и да наблюдавате напредъка с:

    watch -d cat / proc / mdstat

    Късмет! :)

    Препратки:
    mdadm мамят лист
    RAID нивата се разбиват
    Linux RAID10 обясни
    mdadm страница за командния човек
    mdadm конфигурационен файл man страница
    Обяснени са ограниченията на разпределението


    Използването на софтуерен RAID няма да струва много… Просто вашият глас ;-)