Kotisivu » miten » Ubuntu-ohjelmiston yksinkertaisen tiedostopalvelimen ohjelmisto-RAID n asentaminen

    Ubuntu-ohjelmiston yksinkertaisen tiedostopalvelimen ohjelmisto-RAID n asentaminen

    Tarvitsetko halutun tiedostopalvelimen, joka on helppo asentaa, "rock solid" luotettava sähköpostihälytyksellä? näyttää, miten Ubuntua, ohjelmistoa RAID ja SaMBa voidaan käyttää juuri näin.

    Yleiskatsaus

    Huolimatta viimeisestä buzzista kaiken "mahtavan" pilven siirtämiseen, joskus ei ehkä halua, että tietosi jonkun toisen palvelimessa tai se on ehkä mahdotonta ladata tarvitsemasi tiedon määrää Internetistä joka kerta (esimerkiksi kuvan käyttöönotto ). Ennen kuin tyhjennät tallennusratkaisun sijainnin budjetissasi, harkitse Linux-käyttöoikeuksia ilmaiseksi.

    Kun sanottiin, halpa / ilmainen meneminen ei tarkoita "varovaisuutta tuulelle", ja tätä tarkoitusta varten huomioimme kohdat, jotka on otettava huomioon, kokoonpanot, jotka tulisi asettaa ohjelmiston RAID: n lisäksi, jotta saavutettaisiin korkeimman hinnan ja luotettavuuden suhteen.

    Kuva: Filomena Scalise

    Tietoja ohjelmistosta RAID

    Kuten nimestä käy ilmi, tämä on RAID (Redundant Array of Inexpensive Disks) -asetus, joka suoritetaan kokonaan ohjelmistossa sen sijaan, että käytettäisiin omaa laitteistokorttia. Tällaisen asian tärkein etu on kustannus, koska tämä erityinen kortti on lisäpalkkio järjestelmän perusasetuksiin. Tärkeimmät haittapuolet ovat pohjimmiltaan suorituskyky ja jonkin verran luotettavuutta, sillä kortilla on yleensä oma RAM + CPU suorittamaan laskelmat, joita tarvitaan redundanssin matematiikalle, datan välimuistiin tehokkuuden lisäämiseksi ja valinnainen varaparisto, joka säilyttää kirjoittamattomat toiminnot välimuistissa kunnes teho on palautettu, jos virta katkeaa.

    Ohjelmiston RAID-asetusten avulla uhrataan joitakin järjestelmän suorittimen suorituskykyä järjestelmän kokonaiskustannusten pienentämiseksi, mutta nykyisillä CPU-laitteilla yleiskustannukset ovat suhteellisen vähäisiä (varsinkin jos lähdet pääasiassa palvelimesta ”palvelinpalvelimeksi”). Mitä tulee levyn suorituskykyyn, on olemassa rangaistus ... mutta en ole koskaan kohdannut pullonkaulaa levyn osajärjestelmästä palvelimelta huomatakseni, kuinka syvällinen se on. Tomin laitteisto-opas "Tom's goes RAID5" on vanha, mutta hyvä aihe, josta käytän viitteenä, mutta otan kuitenkin vertailuarvot, joissa on suolaa, kun puhutaan Windows RAID: n käyttöönotosta (kuten kaikki muu, olen varma, että Linux on paljon parempi: P).

    edellytykset

    • Kärsivällisyys nuori, tämä on pitkä lukema.
    • Oletetaan, että tiedät mitä RAID on ja mihin sitä käytetään.
    • Tämä opas on kirjoitettu Ubuntu-palvelimella 9.10 x64, joten oletetaan, että sinulla on Debian-pohjainen järjestelmä, jolla voit toimia myös.
    • Näet minut käyttävän VIM: ää editoriohjelmana, tämä on vain siksi, että olen tottunut siihen ... voit käyttää mitä tahansa muuta editoria, jota haluat.
    • Ubuntu-järjestelmä, jota käytin tämän oppaan kirjoittamiseen, oli asennettu levylle-näppäimeen. Näin sain käyttää sda1: tä osana RAID-taulukkoa, joten säädä sen mukaan.
    • Riippuen RAID-tyypistä, jota haluat luoda, tarvitset vähintään kaksi levyä järjestelmässäsi ja tässä oppaassa käytämme 6 asemaa.

    Ryhmän muodostavien levyjen valitseminen

    Ensimmäinen askel välttääksesi ansan on sen olemassaolon tunteminen (Thufir Hawat Duneesta).

    Levyjen valitseminen on elintärkeä askel, jota ei pidä ottaa kevyesti, ja olisit viisasta hyödyntää todellista kokemustasi ja ottaa huomioon tämä varoitus:

    Tehdä EI käytä "kuluttajaluokkaa" -asemia luodaksesi taulukon, käytä "palvelinluokan" -asemia!!!!!!

    Nyt tiedän, mitä ajattelet, emmekö sano, että aiomme mennä halvalla? ja kyllä ​​me teimme, mutta tämä on täsmälleen yksi niistä paikoista, joissa se on huolimaton ja sitä tulisi välttää. Huolimatta houkuttelevasta hinnastaan ​​kuluttajalaatuisia kiintolevyjä ei ole suunniteltu käytettäväksi 24/7 ”päällä”. Luota minuun, sinun on todella kokeillut sinua. Vähintään neljä kuluttajalaatuista asemaa kolmessa palvelimessa, jotka olen asentanut näin (budjettirajoitteiden takia), epäonnistui noin 1,5 - 1,8 vuoden kuluttua palvelimen ensimmäisestä käynnistyspäivästä. Vaikka tietojen häviämistä ei ollut, koska RAID teki sen hyvin ja selviytyivät… tämänkaltaiset hetket lyhentävät sysadminin elinajanodotusta, puhumattakaan yrityksen palvelimen ylläpitoaikaa (mikä saattaa päätyä enemmän kuin korkeamman luokan asemat).

    Jotkut saattavat sanoa, että kahden tyypin epäonnistumisasteessa ei ole eroa. Tämä voi olla totta, vaikka näistä väitteistä huolimatta palvelinluokan asemilla on edelleen korkeampi SMART-rajoituksia ja niiden takana oleva QAing (kuten voidaan todeta siitä, että niitä ei luovuteta markkinoille heti, kun kuluttaja-asemat ovat), joten suosittelen edelleen, että päivität ylimääräisen $$$in.

    RAID-tason valitseminen.

    Vaikka en aio mennä kaikkiin käytettävissä oleviin vaihtoehtoihin (tämä on hyvin dokumentoitu RAID-wikipedia-merkinnässä), minusta tuntuu, että on huomattava, että sinun pitäisi aina valita vähintään RAID 6 tai jopa korkeampi ( käytämme Linux RAID10). Tämä johtuu siitä, että kun levy epäonnistuu, on olemassa suurempi mahdollisuus naapurilevyn vikaantumiseen. Lisäksi jos suuria levyjä käytetään suurempien levyjen suuremmalla tiheydellä lautasen pinnalla, epäonnistumismahdollisuus on suurempi. IMHO-levyt 2T: stä ja sen jälkeen kuuluvat aina tähän luokkaan.

    Let's get cracking

    Levyt

    Vaikka Linux / GNU: ssa voisimme käyttää koko lohkolaitetta tallennustarpeisiin, käytämme osioita, koska se helpottaa levyn pelastustyökalujen käyttöä, jos järjestelmä on mennyt bonkers. Käytämme täällä fdisk-ohjelmaa, mutta jos käytät suurempia levyjä kuin 2T, sinun on käytettävä osiointiohjelmaa, joka tukee GPT-osiota, kuten ositettu.

    sudo fdisk / dev / sdb

    Huomautus: Olen havainnut, että matriisi on mahdollista tehdä muuttamatta osion tyyppiä, mutta koska tämä on tapa kuvata koko verkossa, aion seurata mallia (kun käytät koko lohkolaitetta, se on tarpeeton).

    Kun fdisk on näppäimistön painallukset ovat:

    n; uuden osion
    tulla sisään
    p; ensisijainen osio
    tulla sisään
    1; osion lukumäärä
    tulla sisään ; hyväksy oletus
    tulla sisään ; hyväksy oletus
    t; voit vaihtaa tyyppiä
    fd; asettaa tyypin "Linux raid auto detection" (83h)
    w; kirjoita muutoksia levylle ja poistu

    Huuhtele ja toista kaikki levyt, jotka ovat osa taulukkoa.

    Linux RAID10 -massan luominen

    Käyttäjän etu onLinux raid10 ”on se, että se tietää, miten hyödyntää ei-parillinen määrä levyjä suorituskyvyn ja joustavuuden lisäämiseksi entisestään vaniljan RAID10: n lisäksi sen lisäksi, että sitä käytettäessä 10-matriisi voidaan luoda yhdellä ainoalla vaihe.

    Luo taulukko viimeisimmässä vaiheessa valmistetuista levyistä antamalla:

    sudo mdadm - create / dev / md0 - chunk = 256 - taso = 10 p f2 - pelkät laitteet = 5 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 - -Verbose

    Huomautus: Tämä on vain yksi rivi huolimatta siitä, että esitys rikkoo sen kahteen.

    Mennään parametrit alas:

    • “-Chunk = 256” - tavuiden, joita raidiraidat ovat rikki, koko ja tämä koko suositellaan uusille / suurille levyille (tämän oppaan tekemiseen käytetyt 2T-asemat olivat epäilemättä kyseisessä luokassa).
    • "-Taso = 10" - käyttää Linux raid10 (jos vaaditaan perinteistä raidaa, jostain syystä sinun pitäisi luoda kaksi ryhmää ja liittyä niihin).
    • "-P f2" - käyttää "kaukaa" kiertosuunnitelmaa, katso lisätietoja alla olevasta huomautuksesta, ja "2" kertoo, että taulukko säilyttää kaksi kopiota tiedosta.

    Huomautus: Käytämme "kaukaa" -suunnitelmaa, koska tämä aiheuttaa levyjen fyysisen tietojen asettamisen EI ole sama. Tämä auttaa selviytymään tilanteesta, jossa yhden aseman laitteisto epäonnistuu valmistusvirheen takia (ja usko, että tämä ei tapahdu minulle), kuten sinä todella olisit. Koska kaksi levyä ovat samaa merkkiä ja mallia, niitä on käytetty samalla tavalla ja perinteisesti on pidetty tietoja samassa fyysisessä paikassa… On olemassa riski, että tietojen kopiota pitävä asema on epäonnistunut liian tai on lähellä ja ei tarjoa tarvittavaa joustavuutta, ennen kuin korvaava levy saapuu. ”Suuri” -suunnitelma tekee datan jakamisesta täysin erilaiselle fyysiselle sijainnille kopio- asemissa sen lisäksi, että käytät levyjä, jotka eivät ole lähellä toisiaan tietokoneen kotelossa. Lisätietoja löytyy täältä ja alla olevista linkeistä.

    Kun ryhmä on luotu, se käynnistää synkronointiprosessin. Voit halutessasi odottaa perinteiden vuoksi (koska tämä voi kestää jonkin aikaa), voit alkaa käyttää taulukkoa välittömästi.

    Edistymistä voidaan havaita käyttämällä:

    watch -d cat / proc / mdstat

    Luo mdadm.conf-määritystiedosto

    Vaikka on osoitettu, että Ubuntu yksinkertaisesti tietää skannata ja aktivoida taulukon automaattisesti käynnistyksen yhteydessä, täydellisyyden vuoksi ja seuraavaa sysadminia varten luomme tiedoston. Järjestelmä ei luo tiedostoa automaattisesti ja yrittää muistaa kaikki RAID-sarjan komponentit / osiot, on järjestelmän ylläpitäjän järjen vyötärö. Nämä tiedot voivat ja ne tulisi säilyttää mdadm.conf-tiedostossa. Muotoilu voi olla hankalaa, mutta onneksi mdadm -detail -scan -verbose -komennon tulos antaa sinulle sen.

    Huomautus: On sanottu, että: ”Useimmat jakelut odottavat mdadm.conf-tiedostoa / etc /, ei / etc / mdadm. Uskon, että tämä on "ubuntu-ism", jotta se olisi /etc/mdadm/mdadm.conf ". Koska me olemme käytämme täällä Ubuntua, menemme vain sen kanssa.

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

    TÄRKEÄ! sinun on poistettava yksi "0" äskettäin luotuun tiedostoon, koska edellä mainitusta komennosta johtuva syntaksi ei ole täysin oikea (GNU / Linux ei ole vielä käyttöjärjestelmä).

    Jos haluat nähdä ongelman, jonka tämä väärä kokoonpano aiheuttaa, voit antaaskannata" komento tässä vaiheessa ennen säädön tekemistä:

    mdadm --examine --scan

    Voit voittaa tämän muokkaamalla tiedostoa /etc/mdadm/mdadm.conf ja muuta:

    metadatan = 00,90

    Lukea:

    metadatan = 0,90

    Käynnistä mdadm -examine -scan komennon pitäisi nyt palata ilman virhettä.

    Tiedostojärjestelmän asennus ryhmässä

    Käytin tätä esimerkkiä ext4: ssä, koska se vain rakensi sen edeltävän ext3-tiedostojärjestelmän tuntemuksen, joka tarjosi luvattua parempaa suorituskykyä ja ominaisuuksia.
    Ehdotan aikaa tutkia, mikä tiedostojärjestelmä sopii paremmin tarpeisiisi, ja hyvä alku sille on "Mikä Linux-tiedostojärjestelmä pitäisi valita?".

    sudo mkfs.ext4 / dev / md0

    Huomautus: Tässä tapauksessa en jakanut tuloksena olevaa taulukkoa, koska en vain tarvinnut sitä silloin, kun pyynnön esittänyt osapuoli pyysi nimenomaan vähintään 3,5 t jatkuvaa tilaa. Kun sanoin, olisin halunnut luoda osioita, olisin pitänyt käyttää GPT-osiointitekniikkaa käyttävää apuohjelmaa, kuten "parted".

    asennus

    Luo kiinnityspiste:

    sudo mkdir / media / raid10

    Huomautus: Tämä voi olla mikä tahansa paikka, edellä on vain esimerkki.

    Koska me käsittelemme "koottua laitetta", me aiomme ei käytä asennettavaan laitteeseen kuuluvaa tiedostojärjestelmän UUID-tunnusta (kuten muissa laitteissa suositellaan ”mikä on linux fstab ja miten se toimii” opas), koska järjestelmä voi itse nähdä osan tiedostojärjestelmästä yksittäisellä levyllä ja yrittää väärin asenna se suoraan. tämän voittamiseksi haluamme odottaa, että laite "kootaan" ennen kuin yritämme asentaa sen, ja käytämme koottua taulukon nimeä ("md") sisällä fstab tämän saavuttamiseksi.
    Muokkaa fstab-tiedostoa:

    sudo vim / etc / fstab

    Ja lisää se tähän riviin:

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

    Huomautus: Jos muutat esimerkin sijaintiasemaa tai tiedostojärjestelmää, sinun on säädettävä edellä mainittua.

    Käytä automaattisen parametrin (-a) mukaista asennusta simuloida järjestelmän käynnistystä, joten tiedät, että kokoonpano toimii oikein ja että RAID-laite asennetaan automaattisesti, kun järjestelmä käynnistyy uudelleen:

    sudo mount -a

    Nyt sinun pitäisi pystyä näkemään "mount" -komennolla asennettu ryhmä ilman parametreja.

    Sähköpostihälytykset RAID-arkistosta

    Toisin kuin laitteisto-RAID-matriisit, ohjelmistopiirillä ei ole ohjainta, joka aloittaa piippauksen, jotta voit tietää, kun jotain meni pieleen. Siksi sähköpostihälytykset tulevat olemaan ainoa tapa tietää, onko jotain tapahtunut yhden tai useamman levyn kanssa ryhmässä, ja näin ollen se on tärkein askel.

    Noudata ”Kuinka määrität sähköpostihälytykset Linuxissa käyttämällä Gmailia tai SMTP: tä” -oppaan ja kun olet valmis, palaa tähän, kun haluat suorittaa RAID-erityiset vaiheet.

    Vahvista, että mdadm voi lähettää sähköpostia
    Alla oleva komento kertoo mdadmille tulipalon vain yhdestä sähköpostista ja sulje.

    sudo mdadm --monitor - scan --test --oneshot

    Jos onnistut, sinun pitäisi saada sähköpostiosoite, jossa eritellään taulukon tila.

    Aseta mdadm-kokoonpano lähettää sähköpostiviesti käynnistyksen yhteydessä
    Vaikka se ei ole ehdottoman välttämätöntä, on mukavaa saada ajoittain päivitys koneelta, jotta voimme kertoa meille, että sähköpostiominaisuudet ovat edelleen toiminnassa ja että se on massa. sähköpostit eivät todennäköisesti häviä, koska tämä asetus koskee vain käynnistyksiä (jotka palvelimissa ei pitäisi olla monta).
    Muokkaa mdadm-määritystiedostoa:

    sudo vim / etc / default / mdadm

    Lisää -testata parametri DAEMON_OPTIONS osio, jotta se näyttää:

    DAEMON_OPTIONS = "- syslog --test"

    Voit käynnistää koneen uudelleen vain varmistaaksesi, että "silmukka", mutta se ei ole pakollinen.

    Samba-kokoonpano

    SaMBa: n asentaminen Linux-palvelimelle mahdollistaa sen, että se toimii kuin Windows-tiedostopalvelin. Jotta saisimme Windows-palvelimelle saatavilla olevat Linux-palvelimella olevat tiedot, asennamme ja konfiguroimme SaMBan.
    On hauska huomata, että SaMBan paketin nimi on Microsoftin protokollan SMB (Service Message Block) -palvelun protokolla..

    Tässä oppaassa palvelinta käytetään testaustarkoituksiin, joten mahdollistamme pääsyn sen osuuteen ilman Tarvitset salasanan, voit halutessasi kaivaa hieman enemmän, miten asetukset määritetään, kun asennus on valmis.

    On myös suositeltavaa luoda etuoikeutettu käyttäjä, joka on tiedostojen omistaja. Tässä esimerkissä käytämme tätä tehtävää varten luotua ”geek” -käyttäjää. Selitykset siitä, miten käyttäjä luodaan ja hallitaan omistajuutta ja oikeuksia, löytyvät "Luo uusi käyttäjä Ubuntu Server 9.10: ssä" ja "Aloittelijan opas käyttäjien ja ryhmien hallintaan Linuxissa" -oppaissa.

    Asenna Samba:

    aptitude asenna samba

    Muokkaa samba-määritystiedostoa:

    sudo vim /etc/samba/smb.conf

    Lisää osio nimeltä ”yleinen”, joka antaa pääsyn liitäntäpisteeseen ”/ media / raid10 / general” lisäämällä alla olevan tiedoston.

    [Yleinen]
    polku = / media / raid10 / general
    pakota käyttäjä = geek
    voimassa ryhmä = geek
    vain luku = Ei
    luo naamio = 0777
    hakemiston maski = 0777
    vain vieras = Kyllä
    guest ok = Kyllä

    Yllä olevat asetukset tekevät osoitteen osoitettavaksi ilman salasana kenellekään ja tekee käyttäjän ”geek” -toiminnon oletusomistajaksi.

    Viitteellesi tämä smb.conf-tiedosto on otettu työpalvelimelta.

    Käynnistä samba-palvelu uudelleen, jotta asetukset vaikuttavat:

    sudo /etc/init.d/samba uudelleenkäynnistys

    Kun olet valmis, voit käyttää testparm komento nähdäksesi samba-palvelimen asetukset.
    se on nyt, palvelimen pitäisi nyt olla saatavilla mistä tahansa Windows-ruudusta käyttämällä:

    \ Server-namegeneral

    Ongelmien karttoittaminen

    Kun sinun täytyy ratkaista ongelma tai levy on epäonnistunut ryhmässä, viittaan mdadm-huijausarkkiin (mitä teen…).

    Yleensä kannattaa muistaa, että kun levy ei onnistu, sinun on poistettava se taulukosta, sammutettava laite, vaihdettava viallinen asema korvaavaan asemaan ja sen jälkeen lisättävä uusi asema ryhmään, kun olet luonut sopivan levyn asettelu (osiot) tarvittaessa.

    Kun olet valmis, kannattaa ehkä varmistaa, että taulukko rakentaa uudelleen ja seuraa edistystä seuraavilla tavoilla:

    watch -d cat / proc / mdstat

    Onnea! :)

    Viitteet:
    mdadm cheat sheet
    RAID-tasot hajoavat
    Linux RAID10 selitti
    mdadm-komennon man-sivu
    mdadm-määritystiedoston man-sivu
    Osion rajoitukset selitettiin


    RAID-ohjelmiston käyttäminen ei maksa paljon… Vain VOICE ;-)