Имате ли нужда от файлов сървър на евтин, който е лесен за настройка, "твърд рок" надежден с Email Alerting? ще ви покаже как да използвате Ubuntu, софтуера RAID и SaMBa, за да постигнете точно това.
Независимо от скорошното внезапно преместване на всичко в облака "всички мощни", понякога може да не искате информацията ви в сървъра на някой друг, или просто може да е невъзможно да изтегляте обемите данни, които се нуждаете от интернет всеки път (например разгръщане на изображения ). Така че преди да изчистите място в бюджета си за решение за съхранение, помислете за конфигурация, която е безплатна за лицензиране с Linux.
С това казано, че евтините / безплатните не означават "да внимаваме на вятъра" и за тази цел ще отбележим точките, които трябва да бъдат наясно, конфигурациите, които трябва да бъдат въведени в допълнение към използването на софтуера RAID, за да се постигне максимална цена до надеждност.
Изображение на Филомена Скализ
Както подсказва името, това е настройка RAID (Redundant Array of Inexpensive Disks), която се изпълнява изцяло в софтуера, вместо да се използва специална хардуерна карта. Основното предимство на такова нещо е цената, тъй като тази специална карта е допълнителна премия за базовата конфигурация на системата. Основните недостатъци са основно изпълнение и известна надеждност, тъй като такава карта обикновено идва със собствения си RAM + CPU, за да извърши изчисленията, необходими за математическия изход, кеширането на данни за повишена производителност и допълнителната резервна батерия, която поддържа неписани операции в кеша до мощността е възстановена в случай на изход.
С инсталирането на софтуер RAID си жертвате някои от системните ефекти на процесора, за да намалите общата цена на системата, но с днешните процесори режийните разходи са относително незначителни (особено ако основно посветите този сървър на "файлов сървър"). Що се отнася до работата на диска, има наказание ... но никога не съм срещал затруднение от дисковата подсистема от сървъра, за да отбележа колко дълбок е той. Томският хардуерен пътеводител "Tom's goes RAID5" е стар, но изчерпателна статия за темата, която аз лично използвам за справка, обаче използвам референтните стойности със зърно от сол, тъй като става въпрос за внедряването на софтуера RAID в Windows (както при всичко останало, аз съм сигурен, че Linux е много по-добър: P).
Първата стъпка в избягването на капан е да се знае за съществуването му (Thufir Hawat от Dune).
Изборът на дисковете е жизненоважна стъпка, която не бива да се приема леко, и би било разумно да се възползвате от опита си и да се вслушвате в това предупреждение:
правя НЕ използвайте "потребителски клас" устройства, за да създадете масив, използвайте "сървър клас" дискове !!!!!!
Сега знам какво си мислиш, не казахме ли, че ще отидем по-евтино? и да го направихме, но това е точно едно от местата, където това е безразсъдно и трябва да се избягва. Независимо от атрактивната им цена, твърдите дискове за потребителски клас не са предназначени за използване в 24-часов тип "употреба". Повярвай ми, твоята наистина е опитала това за теб. Най-малко четири устройства с потребителски клас в трите сървъра, които имам настройка по този начин (поради бюджетни ограничения), се провалиха след около 1,5 ~ 1,8 години от началния ден на стартиране на сървъра. Макар че нямаше загуба на данни, защото RAID направи това добре и оцелели ... подобни моменти намаляват продължителността на живота на sysadmin, да не говорим за времето на компанията за поддръжка на сървъра (нещо, което в крайна сметка ще струва повече от по-високите дискове).
Някои може да кажат, че няма разлика в процента на неуспех между двата типа. Това може да е вярно, но независимо от тези твърдения, сървърните дискове все още имат по-високо ниво на SMART ограничения и QAing зад тях (както може да се види от факта, че те не се пускат на пазара веднага щом шофират потребителите) така че аз все още силно препоръчвам ви вилица на извън $ $ $ за надграждане.
Докато няма да отида във всички налични опции (това е много добре документирано в записа за RAID wikipedia), чувствам, че трябва да се отбележи, че винаги трябва да изберете поне RAID 6 или дори по-висока ( ще използваме Linux RAID10). Това е така, защото когато диска не успее, има по-голям шанс за съседна дискова грешка и след това имате "два диска" неуспех на ръцете си. Освен това, ако използвате големи дискове, тъй като по-големите дискове имат по-висока плътност на данните на повърхността на плочата, шансът за повреда е по-висок. IMHO дисковете от 2T и отвъд винаги ще попаднат в тази категория, така че е добре да знаете.
Дискове за разделяне
Докато в Linux / GNU бихме могли да използваме цялото блок устройство за нуждите на съхранението, ще използваме дялове, защото улеснява използването на инструменти за спасяване на диска в случай, че системата е претърпяла грешки. Използваме тук програмата "fdisk", но ако ще използвате дискове, по-големи от 2T, ще трябва да използвате програма за разделяне, която поддържа разделянето на GPT като раздели.
sudo fdisk / dev / sdb
Забележка: Забелязах, че е възможно да се направи масив, без да се променя типът на дяловете, но тъй като това е описаният по цял мрежа начин, аз ще го последвам (отново при използване на цялото блок устройство това не е необходимо).
След като в fdisk клавишите са:
n; за нов дял
въведете
p; за основен дял
въведете
1; брой на дяловете
въведете; приеме по подразбиране
въведете; приеме по подразбиране
T ; за да промените типа
fd; определя типа, който трябва да бъде "Linux raid auto detect" (83h)
w; да напише промени в диска и да излезе
Изплакнете и повторете за всички дискове, които ще бъдат част от масива.
Предимството на използването на "Linux raid10 "е, че знае как да се възползва от неравномерния брой дискове, за да увеличи производителността и устойчивостта още повече, отколкото ванилийския RAID10, освен факта, че при използването му масивът" 10 "може да бъде създаден в една единствена стъпка.
Създайте масива от дисковете, които сме подготвили в последната стъпка, като издавате:
/ dev / sd1 / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 - sudo mdadm - създаване / dev / md0 - -verbose
Забележка: Това е само една линия въпреки факта, че представянето го счупи на две.
Нека да разделим параметрите:
Забележка: Използваме "далечния" план, защото това прави физическото оформление на дисковете НЕ да е същото. Това помага да се преодолее ситуацията, при която хардуерът на един от драйверите се провали поради производствена грешка (и не мисля, че "това няма да ми се случи", както направихте наистина). Поради факта, че двата диска са от една и съща марка и модел, са били използвани по същия начин и традиционно съхраняват данните на едно и също физическо местоположение ... Рискът съществува, че дискът, който държи копието на данните, е неуспешен също или е близо и няма да осигури необходимата гъвкавост, докато не дойде резервен диск. "Далечният" план прави разпределението на данните на съвсем различно физическо местоположение върху копиращите устройства, в допълнение към използването на дискове, които не са близко един до друг в случая на компютъра. Повече информация можете да намерите тук и в линковете по-долу.
След създаването на масива той ще започне своя процес на синхронизиране. Въпреки че може да искате да изчакате заради традициите (тъй като това може да отнеме известно време), можете да започнете да използвате масива веднага.
Напредъкът може да бъде наблюдаван чрез:
гледайте -d cat / proc / mdstat
Създайте конфигурационния файл mdadm.conf
Въпреки че е доказано, че Ubuntu просто знае да сканира и активира масива автоматично при стартиране, за пълнота и любезността на следващата sysadmin ние ще създадем файла. Системата Ви не създава автоматично файла и се опитва да запомни всички компоненти / дялове на Вашия RAID набор, е талия на здравето на администратора на системата. Тази информация може и трябва да се съхранява в файла mdadm.conf. Форматирането може да бъде трудно, но за щастие продукцията на mdadm -detail-scan -verbose команда ви осигурява това.
Забележка: Казано е, че: "Повечето дистрибуции очакват файла mdadm.conf в / etc /, а не / etc / mdadm. Вярвам, че това е "ubuntu-ism", за да го има като /etc/mdadm/mdadm.conf ". Поради факта, че ние сте използвайки Ubuntu тук, ние просто ще отидем с него.
sudo mdadm - раздел - сканиране --verbose> /etc/mdadm/mdadm.conf
ВАЖНО! трябва да премахнете "0" от новосъздадения файл, защото синтаксиса, произтичащ от горната команда, не е напълно правилен (GNU / Linux все още не е OS).
Ако искате да видите проблема, който причинява тази неправилна конфигурация, можете да го издадете "сканиране " команда в тази точка, преди да направите корекцията:
mdadm - проучване
За да преодолеете това, редактирайте файла /etc/mdadm/mdadm.conf и промяна:
метаданни = 00.90
Чета:
метаданни = 0.90
Пускане на mdadm -examine-scan командата сега трябва да се върне без грешка.
Използвах ext4 за този пример, защото за мен току-що надгради познанието на ext3 файловата система, която се появи пред нея, като същевременно осигури обещаните по-добри резултати и характеристики.
Предлагам да отделите време, за да разберете коя файлова система е по-подходяща за вашите нужди и че това е нашата статия "Коя Linux файлова система трябва да изберете?".
sudo mkfs.ext4 / dev / md0
Забележка: В този случай не разделих получения масив, защото просто не се нуждаех от него по това време, тъй като молещата страна конкретно поиска поне 3.5T непрекъснато пространство. С това казах, че исках да създам дялове, бих се наложило да използвам помощна програма за разделяне на GPT като "разделих се".
Създайте точка за монтиране:
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 масиви, със софтуерен масив няма контролер, който да започне да вика, когато нещо се обърка. Поради това предупрежденията по имейл ще бъдат единственият ни начин да разберем дали нещо се е случило с един или повече диска в масива и по този начин го прави най-важната стъпка.
Следвайте ръководството "Как да инсталирате предупреждения за имейли на Linux чрез Gmail или SMTP" наръчник и когато свършите се върнете тук, за да изпълнявате специфичните стъпки на RAID.
Потвърдете, че mdadm може да изпрати имейл
Командата по-долу ще каже на mdadm да изстреля само един имейл и да затвори.
sudo mdadm - монитор - сканиране - тестване - снимки
Ако успеете, трябва да получавате имейл, в който подробно излагате състоянието на масива.
Задайте конфигурацията mdadm, за да изпратите имейл при стартиране
Макар че не е абсолютно задължително, е хубаво да се получава актуализация от време на време от машината, за да ни уведомите, че способността за електронна поща все още работи и за състоянието на масива. вероятно няма да бъдете затрупани от имейли, тъй като тази настройка засяга само стартиращите (които на сървърите не трябва да са много).
Редактирайте конфигурационния файл mdadm:
sudo vim / etc / default / mdadm
Добавете -тест параметър към DAEMON_OPTIONS така че да изглежда като:
DAEMON_OPTIONS = "- syslog --test"
Можете да рестартирате машината само, за да се уверите, че сте "в цикъл", но не е задължително.
Инсталирането на SaMBa на сървър на Linux му позволява да действа като файлов сървър на Windows. За да получим данните, които хостваме на сървъра на Linux на разположение на клиентите на Windows, ще инсталираме и конфигурираме SaMBa.
Странно е да се отбележи, че името на пакета SaMBa е хакер на протокола на Microsoft, използван за споделяне на файлове, наречен SMB (Service Message Block).
В това ръководство сървърът се използва за целите на тестването, за да позволим достъп до него без изискваща парола, може да поискате да копаете малко повече, как да настроите разрешенията след като настройката е завършена.
Също така се препоръчва да създадете потребител с непривилегировани права, за да сте собственик на файловете. В този пример използваме "създадения" потребител, който сме създали за тази задача. Обясненията как да създадете потребител и да управлявате собствеността и разрешенията можете да намерите в ръководствата "Създаване на нов потребител на Ubuntu Server 9.10" и "Ръководство за начинаещи за управление на потребители и групи в Linux".
Инсталиране на Samba:
aptitude install samba
Редактиране на конфигурационния файл на samba:
sudo vim /etc/samba/smb.conf
Добавете дял, наречен "общ", който ще даде достъп до монтажната точка "/ media / raid10 / general", като добавите долу към файла.
[общ]
path = / media / raid10 / general
сила потребител = geek
сила група =
само за четене = Не
създайте маска = 0777
директория маска = 0777
само за гости = Да
гост ok = Да
Настройките по-горе правят акцията адресируема без парола за всеки и прави собственика по подразбиране на файловете на потребителя "geek".
За справка, този файл smb.conf е взет от работещ сървър.
Рестартирайте услугата "Самба", за да се повлияят настройките:
sudo /etc/init.d/samba рестартиране
След като сте готови, можете да използвате testparm команда, за да видите настройките, приложени към самба сървъра.
това е, сървърът трябва да бъде достъпен от всяка прозоречна кутия, използвайки:
\ Сървъра namegeneral
Когато трябва да отстраните даден проблем или даден диск се е провалил в масив, предлагам да се обърнете към mdadm cheat листа (това е, което правя ...).
Като цяло трябва да помните, че когато диск се провали, трябва да го "премахнете" от масива, да изключите машината, да замените провалящото устройство с подмяна и след това да добавите новото устройство към масива, след като създадете подходящия диск оформление (дялове) върху него, ако е необходимо.
След като направите това, може да искате да се уверите, че масивът е възстановен и да наблюдавате напредъка с:
гледайте -d cat / proc / mdstat
Късмет! :)
Препратки:
mdadm мамят лист
Нивата на RAID се разпадат
Linux RAID10 обясни
mdadm команда страница man
mdadm страница за конфигурационния файл
Описани са ограниченията на разделянето
Използването на софтуер RAID няма да струва много ... Само вашият глас ;-)