Anasayfa » nasıl » Ubuntu'da Basit Bir Dosya Sunucusu İçin Yazılım RAID'i Ayarlama

    Ubuntu'da Basit Bir Dosya Sunucusu İçin Yazılım RAID'i Ayarlama

    Kurulumu kolay, e-postayla güvenilir, güvenilir ve güvenilir bir dosya sunucusuna mı ihtiyacınız var? Sadece bunu başarmak için Ubuntu, RAID ve SaMBa yazılımlarını nasıl kullanacağınızı gösterecek..

    genel bakış

    Son buzz'ların her şeyi “tüm güçlü” bulutlara taşımasına rağmen, bazen bilgilerinizi bir başkasının sunucusunda istemeyebilirsiniz veya belki de her zaman internetten istediğiniz veri miktarlarını indirmek mümkün olmayabilir (örneğin, görüntü dağıtımı) ). Bu nedenle, bir depolama çözümü için bütçenizdeki bir yeri temizlemeden önce, Linux ile ücretsiz lisans veren bir yapılandırma düşünün.

    Bununla birlikte, ucuz / serbest olmak “rüzgara dikkat etmek” anlamına gelmez ve bu amaçla, RAID yazılımı kullanmaya ek olarak uygulanması gereken düzenlemelerin farkında olması gereken noktaları not edeceğiz. güvenilirlik oranı maksimum fiyat.

    Görüntü Filomena Scalise tarafından

    RAID yazılımı hakkında

    Adından da anlaşılacağı gibi, bu özel bir donanım kartı kullanmak yerine tamamen yazılım içinde yapılan bir RAID (Ucuz Disklerin Yedekli Dizisi) kurulumudur. Böyle bir şeyin en büyük avantajı maliyettir, çünkü bu özel kart sistemin temel konfigürasyonuna ek bir prim sağlar. Başlıca dezavantajlar temel olarak performanstır ve bu tür bir kart, artık yedekleme matematiği için gerekli hesaplamaları yapmak için genellikle kendi RAM + CPU'su, artan performans için önbellekleme ve önbelleğe alınmamış işlemleri önbellekte saklayan isteğe bağlı yedek batarya ile birlikte gelir. bir elektrik kesintisi durumunda güç yenilendi.

    Yazılım RAID kurulumuyla, toplam sistem maliyetini düşürmek için bazı sistemlerdeki CPU performansından ödün vermeniz gerekir, ancak günümüz CPU'larında ek yükler nispeten göz ardı edilebilir (özellikle de bu sunucuyu “dosya sunucusu” olarak tahsis edecekseniz). Disk performansı arttıkça, bir ceza var ... ancak ne kadar derin olduğuna dikkat etmek için disk alt sisteminden sunucudaki bir darboğazla hiç karşılaşmadım. Tom’un Donanım kılavuzu “Tom’un RAID5’e gitmesi”, kişisel olarak referans olarak kullandığım konuyla ilgili eski ama çok iyi bir makale. Ancak, RAID yazılımının Windows uygulamasından bahsettiği gibi her şey, eminim ki Linux daha iyidir: P).

    Ön şartlar

    • Sabır genç bir, bu uzun bir okuma.
    • RAID'in ne olduğunu ve ne için kullanıldığını bildiğiniz varsayılmaktadır..
    • Bu kılavuz Ubuntu server9.10 x64 kullanılarak yazılmıştır, bu nedenle birlikte çalışabileceğiniz Debian tabanlı bir sisteminiz olduğu varsayılmıştır..
    • Beni VIM’in editör programı olarak kullandığını göreceksiniz, bu sadece buna alıştığım için… İstediğiniz herhangi bir editörü kullanabilirsiniz..
    • Bu kılavuzu yazmak için kullandığım Ubuntu sistemi, bir anahtar üstü diske kuruldu. Bunu yapmak sda1'i RAID dizisinin bir parçası olarak kullanmama izin verdi, bu nedenle ayarlarınıza göre ayarlayın.
    • Oluşturmak istediğiniz RAID türüne bağlı olarak, sisteminizde en az iki diske ihtiyacınız olacak ve bu kılavuzda 6 sürücü kullanıyoruz..

    Diziyi yapan diskleri seçme

    Bir tuzaktan kaçınmanın ilk adımı onun varlığını bilmektir (Dune'dan Thufir Hawat).

    Diskleri seçmek, hafifçe atılmaması gereken hayati bir adımdır ve sizin deneyiminizin deneyiminden faydalanmak akıllıca olur ve bu uyarıyı dikkate alırsınız:

    Yap DEĞİL dizinizi oluşturmak için “tüketici sınıfı” sürücüleri kullanın, “sunucu sınıfı” sürücüleri kullanın!!!!!!

    Şimdi ne düşündüğünü biliyorum, ucuza gideceğimizi söylemedik mi? ve evet, yaptık, ama bu tam da bunu umarsız olduğu ve kaçınılması gereken yerlerden biri. Cazip fiyatlarına rağmen, tüketici sınıfı sabit diskler, 7 gün 24 saat kullanımda kullanılmak üzere tasarlanmamıştır. İnan bana, seninki bunu gerçekten senin için denedi. Sunucunun ilk lansman gününden yaklaşık 1,5 ~ 1,8 yıl sonra, böyle bir kurulum yaptığım (bütçe kısıtlamaları nedeniyle) 3 sunucudaki en az dört tüketici sınıfı sürücü. Veri kaybı olmadı, çünkü RAID işini yaptı iyi ve hayatta kaldı… böyle anlar, sysadmin'in ömrünü kısaltır, şirketin sunucu bakımı için zamandan söz etmemesini (yüksek dereceli sürücülerden daha pahalıya mal olabilecek bir şeyden) bahsetmez..

    Bazıları, iki tip arasında başarısızlık oranında bir fark olmadığını söyleyebilir. Bu doğru olabilir, ancak bu iddialara rağmen, sunucu sınıfı sürücüler hala daha yüksek düzeyde SMART kısıtlamalarına ve bunların arkasındaki kalite güvencelerine sahiptir (tüketici sürücüleri piyasaya sürüldükten sonra piyasaya sürülmedikleri için gözlemlendiği gibi), Bu yüzden hala yükseltme için ekstra $$$ çatal koymak tavsiye ederim.

    RAID seviyesini seçme.

    Mevcut tüm seçeneklere girmeyeceğim (bu, RAID wikipedia girişinde çok iyi belgelenmiştir), her zaman en az RAID 6 veya daha üstünü seçmeniz gerektiğini söylemenin kayda değer olduğunu düşünüyorum. kullanacağız Linux RAID10). Bunun nedeni, bir disk arızalandığında, komşu bir disk arızası olasılığı daha yüksektir ve daha sonra elinizde “iki disk” arızası vardır. Ayrıca, büyük diskleri kullanacaksanız, daha büyük diskler tabağın yüzeyinde daha yüksek veri yoğunluğuna sahip olduğundan, arıza şansı daha yüksektir. 2T ve üstündeki IMHO diskleri her zaman bu kategoriye girer;.

    Hadi çatlayalım

    Bölümleme diskleri

    Linux / GNU’da, tüm blok cihazını depolama ihtiyaçları için kullanabiliriz, bölümleri kullanacağız, çünkü sistemin bağ bozucu olması durumunda disk kurtarma araçlarının kullanılmasını kolaylaştırır. Burada “fdisk” programını kullanıyoruz, ancak 2T'den büyük diskleri kullanacaksanız, GPT bölümlemesini destekleyen bir bölümleme programı kullanmanız gerekecektir..

    sudo fdisk / dev / sdb

    Not: Bölme türünü değiştirmeden diziyi yapmanın mümkün olduğunu gözlemledim, ancak bu, ağın her tarafında tarif edilen yol olduğu için, uygun olacağım (yine tüm blok cihazını kullanırken bu gerekli değildir)..

    Fdisk'e girdikten sonra tuş vuruşları:

    n; yeni bir bölüm için
    girmek
    p; birincil bölüm için
    girmek
    1; bölüm sayısı
    girmek ; varsayılanı kabul et
    girmek ; varsayılanı kabul et
    t; türünü değiştirmek için
    fd; türünü “Linux baskını otomatik algılama” (83h) olarak ayarlar.
    w; diske değişiklikleri yaz ve çık

    Dizinin bir parçası olacak tüm diskleri durulayın ve tekrarlayın.

    Linux RAID10 dizisi oluşturma

    Kullanmanın avantajı “Linux raid10 ”, performansı ve esnekliği daha da arttırmak için eşit olmayan sayıda diskten nasıl yararlanacağını bildiği için,“ 10 ”dizisini tek bir seferde oluşturmanın yanı sıra, vanilyalı RAID10 adım.

    Diziyi son adımda hazırladığımız disklerden başlayarak sağlayın:

    sudo mdadm - oluştur / dev / md0 - chunk = 256 - düzey = 10 -p f2 - raid aygıtları = 5 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 - -Verbose

    Not: Temsilciliğin ikiye böldüğü gerçeğine rağmen, bu sadece bir satır..

    Parametreleri parçalayalım:

    • “-Chunk = 256” - Baskın çizgilerinin kırıldığı baytların boyutu ve bu boyut yeni / büyük diskler için önerilir (bu kılavuzu yapmak için kullanılan 2T sürücüler bu kategoride hiç şüphesiz).
    • “-Level = 10” - kullanır Linux baskın 10 (eğer geleneksel bir baskın gerekliyse, her ne sebeple olursa olsun, iki dizi yaratmanız ve onlara katılmanız gerekir).
    • “-P f2” - “Uzak” rotasyon planını kullanır, daha fazla bilgi için aşağıdaki nota bakınız ve “2” dizinin verinin iki kopyasını tutacağını söyler.

    Not: “Uzak” planı kullanıyoruz, çünkü bu, disklerdeki fiziksel veri düzeninin aynı olmamasını sağlar. Bu, sürücülerden birinin donanımının bir üretim hatası nedeniyle arızalandığı durumun üstesinden gelmeye yardımcı olur (sizinkilerin de olduğu gibi “bunun benim başıma gelmeyeceğini” düşünmeyin). İki diskin aynı marka ve modelde olması, aynı şekilde kullanılması ve geleneksel olarak verileri aynı fiziksel konumda tutması nedeniyle… Verinin kopyasını tutan sürücünün arızalanması riski var. ya da yakın ya da yeni bir disk gelinceye kadar gerekli esnekliği sağlamayacak. “Uzak” plan, veri dağıtımını, bilgisayar kasası içinde birbirine yakın olmayan disklerin yanı sıra, kopya sürücülerde tamamen farklı bir fiziksel konuma yapar. Daha fazla bilgiyi burada ve aşağıdaki linklerde bulabilirsiniz..

    Dizi oluşturulduktan sonra senkronizasyon işlemine başlayacaktır. Geleneklerin hatırı için beklemek isteyebilirsiniz (bu biraz zaman alabilir), diziyi hemen kullanmaya başlayabilirsiniz..

    İlerleme kullanılarak gözlemlenebilir:

    izle -d kedi / proc / mdstat

    Mdadm.conf Yapılandırma Dosyasını oluşturun

    Ubuntu'nun yalnızca diziyi başlangıçta otomatik olarak taramayı ve etkinleştirmeyi bildiği kanıtlanmış olsa da, bir sonraki sysadmin için eksiksizlik ve nezaket için dosyayı oluşturacağız. Sisteminiz dosyayı otomatik olarak oluşturmaz ve RAID setinizin tüm bileşenlerini / bölümlerini hatırlamaya çalışarak, sistem yöneticisinin akıl sağlığının belini oluşturur. Bu bilgi mdadm.conf dosyasında saklanabilir ve saklanmalıdır. Biçimlendirme zor olabilir, ama neyse ki mdadm -detail -scan -verbose komutunun çıktısı size sağlar.

    Not: “Çoğu dağıtım / etc / mdadm değil / etc / içindeki mdadm.conf dosyasını bekliyor. Bunun /etc/mdadm/mdadm.conf ”olması için“ ubuntu-ism ”olduğuna inanıyorum. Çünkü biz Hangi Burada Ubuntu'yu kullanarak, onunla devam edeceğiz..

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

    ÖNEMLİ! Yeni oluşturulan dosyadan bir tane “0” kaldırmanız gerekiyor, çünkü yukarıdaki komuttan kaynaklanan sözdizimi tamamen doğru değil (GNU / Linux henüz bir işletim sistemi değil).

    Bu yanlış konfigürasyonun neden olduğu sorunu görmek istiyorsanız, ““tarama Ayarı yapmadan önce bu noktada komut verin:

    mdadm - araştırmak - taramak

    Bunun üstesinden gelmek için dosyayı düzenleyin /etc/mdadm/mdadm.conf ve değişim:

    meta = 00,90

    Okumak:

    meta = 0.90

    Çalışan mdadm -examine -scan komut şimdi hatasız dönmelidir.

    Dizide dosya sistemi kurulumu

    Bu örnek için ext4 kullandım, çünkü benim için daha önce vaat edilen daha iyi performans ve özellikler sunarken, kendisinden önce gelen ext3 dosya sisteminin aşinalıklarına dayanıyordu..
    Hangi dosya sisteminin ihtiyaçlarınızı daha iyi karşıladığını araştırmaya zaman ayırmanızı öneririm ve bunun için iyi bir başlangıç ​​“Hangi Linux Dosya Sistemini Seçmelisiniz?” Makalemizdir..

    sudo mkfs.ext4 / dev / md0

    Not: Bu durumda, sonuçtaki diziyi bölümlendirmedim, çünkü talep eden taraf özel olarak en az 3.5T sürekli alan talep ettiğinden o zaman gerek yoktu. Bununla birlikte, bölümler oluşturmak istemiş olsaydım, “bölümlenmiş” gibi bir GPT bölümleme yetenekli yardımcı program kullanmak zorunda kalırdım..

    Montaj

    Bağlantı noktasını oluşturun:

    sudo mkdir / media / raid10

    Not: Bu herhangi bir yer olabilir, yukarıdaki sadece bir örnek.

    Çünkü “birleştirilmiş cihaz” ile uğraşıyoruz. değil sistem aslında tek bir diskte dosya sisteminin bir bölümünü görebileceğinden, montaj için cihazın üzerindeki UUID'yi kullanın (“linux fstab nedir ve nasıl çalışır?” kılavuzumuzdaki diğer cihazlar için önerildiği gibi) ve dene hatalı olarak doğrudan monte edin. bunun üstesinden gelmek için, takmayı denemeden önce aygıtın “monte edilmesini” açıkça beklemek istiyoruz ve içinde monte edilen dizinin adını (“md”) kullanacağız. fstab Bunu gerçekleştirmek için.
    Fstab dosyasını düzenleyin:

    sudo vim / etc / fstab

    Ve buna şu satırı ekleyin:

    / dev / md0 / media / raid10 / ext4 varsayılanları 1 2

    Not: Eğer montaj yerini veya dosya sistemini örnekten değiştirirseniz, yukarıdakileri buna göre ayarlamanız gerekecektir..

    Sistem önyüklemesini simüle etmek için otomatik parametresiyle (-a) mount kullanın, böylece yapılandırmanın doğru çalıştığını ve sistem yeniden başlatıldığında RAID cihazının otomatik olarak bağlanacağını bilirsiniz:

    sudo mount -a

    Artık “mount” komutuyla monte edilmiş diziyi parametresiz olarak görebilmelisiniz..

    RAID Dizisi için E-posta Uyarıları

    Donanım RAID dizilerinden farklı olarak, bir yazılım dizisinde, bir şeyler ters gittiğinde size bildirmek için bip sesi çıkarmaya başlayacak hiçbir denetleyici yoktur. Bu nedenle, E-posta uyarıları, dizideki bir veya daha fazla diske bir şey olup olmadığını bilmenin tek yolu olacak ve en önemli adım.

    “Gmail veya SMTP Kullanarak Linux'ta E-posta Uyarıları Nasıl Kurulur” kılavuzunu izleyin ve işlem bittiğinde RAID'e özgü adımları gerçekleştirmek için buraya dönün.

    Mdadm’ın E-posta gönderebileceğini onayla
    Aşağıdaki komut, mdadm'a sadece bir e-posta atıp kapatmasını söyleyecek.

    sudo mdadm - izleyici - tarama - test --oneshot

    Başarılı olursa, dizinin koşullarını ayrıntılandıran bir E-posta alıyor olmalısınız.

    Mdadm yapılandırmasını başlangıçta bir e-posta göndermek üzere ayarlayın
    Mutlak bir zorunluluk olmasa da, e-posta özelliğinin hala çalıştığını ve dizinin durumu hakkında bize bilgi vermek için makineden zaman zaman bir güncelleme almak güzel. Muhtemelen E-postalar tarafından bunaltılmayacaksınız, çünkü bu ayar yalnızca başlangıçları etkiler (sunucularda çok fazla olmamalıdır).
    Mdadm yapılandırma dosyasını düzenleyin:

    sudo vim / etc / default / mdadm

    Ekle -Ölçek parametresi DAEMON_OPTIONS Bu şekilde görünecek şekilde bölüm:

    DAEMON_OPTIONS = "- syslog - test"

    Makineyi sadece “döngüde” olduğundan emin olmak için yeniden başlatabilirsiniz, ancak bu bir zorunluluk değildir..

    Samba Yapılandırması

    SaMBa'yı bir Linux sunucusuna kurmak, bir windows dosya sunucusu gibi davranmasını sağlar. Dolayısıyla, Linux sunucusunda barındırdığımız verileri windows istemcilerinin kullanımına sunabilmek için SaMBa'yı yükleyip yapılandıracağız..
    SaMBa paket adının Microsoft'un SMB (Servis İleti Bloğu) adlı dosya paylaşımında kullanılan protokolünde bir ipucu olduğu unutulmamalıdır..

    Bu kılavuzda sunucu test amaçlı kullanılmıştır, bu yüzden payına erişim sağlayacağız. olmadan şifre istemek, kurulum tamamlandıktan sonra izinlerin nasıl ayarlanacağına biraz daha bakmak isteyebilirsiniz..

    Ayrıca, dosyaların sahibi olmak için ayrıcalıklı olmayan bir kullanıcı oluşturmanız önerilir. Bu örnekte, bu görev için yarattığımız “geek” kullanıcısını kullanıyoruz. Nasıl kullanıcı yaratılacağı ve sahiplik ve izinlerin nasıl yönetileceğine ilişkin açıklamalar “Ubuntu Server 9.10'da Yeni Bir Kullanıcı Oluştur” ve “Linux'ta Kullanıcıları ve Grupları Yönetme Başlangıç ​​Kılavuzu” rehberinde bulunabilir..

    Samba yükleyin:

    yetenek samba yüklemek

    Samba yapılandırma dosyasını düzenleyin:

    sudo vim /etc/samba/smb.conf

    Aşağıdaki dosyaya ekleyerek “/ media / raid10 / general” bağlama noktasına erişim sağlayacak “general” adlı bir paylaşım ekleyin..

    [genel]
    yol = / medya / raid10 / genel
    kullanıcıyı zorla = geek
    kuvvet grubu = geek
    salt okunur = Hayır
    maske oluştur = 0777
    dizin maskesi = 0777
    sadece misafir = Evet
    misafir ok = Evet

    Yukarıdaki ayarlar paylaşımın adreslenmesini sağlar olmadan Herkes için bir şifre ve dosyaların varsayılan sahibini “geek” kullanıcısı yapar..

    Başvuru için, bu smb.conf dosyası çalışan bir sunucudan alındı.

    Ayarların etkili olması için samba servisini yeniden başlatın:

    sudo /etc/init.d/samba yeniden başlat

    Bir kez yaptıktan sonra kullanabilirsiniz. testparm samba sunucusuna uygulanan ayarları görmek için komut.
    İşte bu, sunucu şu anda, kullanarak herhangi bir pencere kutusundan erişilebilir olmalıdır:

    \ Sunucu namegeneral

    Sorun giderme

    Bir sorunu gidermeniz gerektiğinde veya bir dizideki bir disk arızalandığında, mdadm kopya sayfasına atıfta bulunmanızı öneririm (yaptığım şey bu…).

    Genel olarak, bir disk arızalandığında onu diziden “çıkarmanız”, makineyi kapatmanız, arızalı sürücüyü yenisiyle değiştirmeniz ve ardından uygun diski oluşturduktan sonra yeni sürücüyü diziye “eklemeniz” gerektiğini unutmayın. Gerekirse üzerine düzen (bölümler).

    Bu işlem bittikten sonra dizinin yeniden oluşturulduğundan emin olmak isteyebilir ve ilerlemeyi şu şekilde izlemek isteyebilirsiniz:

    izle -d kedi / proc / mdstat

    İyi şanslar! :)

    Referanslar:
    mdadm kopya kağıdı
    RAID seviyeleri bozuldu
    Linux RAID10 açıkladı
    mdadm komut sayfası
    mdadm yapılandırma dosyası man sayfa
    Bölüm sınırlamaları açıklandı


    RAID yazılımının kullanımı çok pahalıya mal olmaz… Sadece SES;