Freebsd și discuri mari de volum

În acest articol, vom vorbi despre construirea unui sistem de stocare a datelor bazat pe sistemul de operare FreeBSD și sistemul de fișiere ZFS.

Această poveste a început odată cu necesitatea unui depozit de date cu un volum mai mare de 20TB. Datele periodic (nu de multe ori) ar trebui să fie înregistrate acolo de pe alte suporturi media, în timp ce utilizatorii obișnuiți citesc doar informațiile, nimic nu înregistrează acolo. Viteza accesului a fost importantă, siguranța datelor nu a fost atât de critică, deoarece copii ale acestor date au fost stocate în altă parte.

Serverul HP Proliant a fost alocat spațiului de stocare cu câte 12 discuri de câte 2TB, care au fost integrate într-un controler hardware RAID0.

Clientul a planificat inițial să implementeze pe această platformă hardware MS Windows Server. Cu toate acestea, au apărut anumite dificultăți.

Sa dovedit că MS Windows nu poate folosi mai mult de 2TB pe discul de boot.

Singura versiune de MS Windows (la momentul scrisului) care nu are această limitare este sistemul pentru platforma Itanium (sisteme bazate pe UEFI) [1], nu a fost potrivit pentru hardware-ul nostru.

Pentru a putea implementa pe serverul nostru MS Windows a fost posibil să "scoatem" un disc de la RAID0 și să instalăm acest sistem acolo. În acest caz, am obținut două unități logice: o unitate de sistem de 2TB și una suplimentară de 22TB. Astfel, am alocat sub OS o unitate de 2TB întreg, cu OS ocupând nu mai mult de 5GB, restul spațiului nu este de fapt utilizat.

Decizia incorectă, pe lângă datele, ar putea și nu se va încadra în restul de 22 TB. Să nu mai vorbim că, spre deosebire de FreeBSD și Linux, MS Windows Server nu este distribuit în mod liber, iar licențele pentru acesta costă bani în plus.

În loc de MS Windows Server, poți folosi FreeBSD, care nu are dezavantaje descrise mai sus; Acest sistem de operare poate fi complet implementat pe RAID0 de 24TB, pe lângă distribuirea gratuită.

Înainte de a descrie procedura de instalare a FreeBSD OS pe serverul nostru, să examinăm în detaliu câteva caracteristici ale dispozitivului de hard discuri mari (2TB sau mai mult).

HDD-ul este format din unul sau mai multe discuri și capete magnetice. Discurile (metalice sau ceramice) sunt acoperite cu un strat de material feromagnetic. Capetele magnetice de pe ambele părți ale fiecărui disc citesc sau lasă etichetele magnetice într-un mod fără contact [2].

În etapa finală a ansamblului HDD, așa-numitul. formare la nivel redus - pe suprafața discurilor sunt plasate marcaje magnetice speciale. Cu ajutorul lor, benzile concentrice, închise - pe discuri se formează urme. care sunt împărțite în părți - sectoare (figura 1). Traseele de pe două laturi ale tuturor discurilor, echidistant față de centru, adică situate exact unul pe partea de sus a celuilalt, sunt unite în așa-numitul. cilindri.

Freebsd și discuri mari de volum

Fig.3: Secțiuni nealiniate.

Dacă granițele partițiilor nu sunt selectate cu succes, blocurile de sistem de fișiere de 512 KB apar pe limita dintre sectoarele 4KB, adică offsetul este astfel încât să taie blocul 512B în 2 părți - prima parte aparține unui sector, iar al doilea o loveste deja în sectorul vecin. Din acest motiv, procesarea unui astfel de bloc 512B necesită două cicluri de citire / scriere în loc de unul, adică Pe lângă sectorul actual de 4KB, este necesară și procesarea vecinului său. Astfel, viteza de acces la HDD poate scădea considerabil.

Înainte de a implementa un sistem de fișiere și a instala OC pe un hard disk (sau o serie de hard discuri), trebuie să fie partiționat. creați partiții și înregistrare de boot. Pentru sistemul de operare MS Windows, metoda obișnuită de marcare este MBR (boot master record), dimensiunea maximă a discului care poate fi alocată în acest fel este 2TB. Pentru unități mai mari de 2 TB această metodă nu este adecvată. Există o metodă alternativă - GPT, care vă permite să marcați până la 9ZB (9 x 10 21 octeți).

OS MS Windows poate folosi discurile GPT alocate, însă poate porni numai de pe discuri de MBR marcate. După cum sa menționat mai sus, singura excepție este versiunea acestui sistem de operare pentru platforma Itanium.

OS FreeBSD funcționează atât cu discuri MBR cât și cu discuri GPT.

Mai multe informații despre MBR și GPT pot fi găsite în [4, 5].

Instalarea FreeBSD

În loc de sistemul obișnuit de fișiere UFS pentru FreeBSD, vom folosi sistemul de fișiere ZFS. Acesta a fost dezvoltat de Sun Microsystems pentru sistemul de operare Solaris. ZFS este conceput pentru a stoca cantități mari de date, are un management relativ simplu al volumului, suportă mecanismul instantaneu și controlul integrității datelor și are multe caracteristici utile. ZFS este un proiect open source și este distribuit sub licența CDDL (Common Development and Distribution License). Mai multe informații despre acest sistem de fișiere pot fi găsite în [6, 7].

Vom instala FreeBSD 9.0-RELEASE OS, avem nevoie de o imagine DVD a arhitecturii corespunzătoare, care poate fi descărcată de pe site-ul FreeBSD.

Boot de pe DVD, selectați modul "Live CD" și conectați-vă ca root (fără parolă).

Primul pas este crearea de partiții și înregistrarea de boot. Pentru a face acest lucru, utilizați utilitarul gpart. De exemplu, un disc de 20 GB în GPT. Aici vom crea 3 secțiuni: înregistrarea de boot, partiția swap și partiția principală. Limitele secțiunilor sunt indicate luând în considerare alinierea pe sectoarele 4KB, adică valorile margini din blocuri ar trebui să fie multipli de 8. După divizare, creați o înregistrare de boot și tipăriți rezultatul.

În continuare, în secțiunea principală, creați un sistem de fișiere. Aici trebuie să faceți încă o operație suplimentară. Sistemul de fișiere FreeBSD UFS are o dimensiune fixă ​​a blocului de date (16KB) și pentru a elimina efectul 512-4 descris mai sus, alinierea partițiilor este suficientă. Spre deosebire de UFS, sistemul de fișiere ZFS are blocuri de date care nu au o dimensiune fixă, astfel încât atunci când creați FS, trebuie să specificați mărimea sectorului real (4096 octeți). Acest lucru se poate face cu ajutorul utilitarului gnop [8].

După aceea, creați partițiile sistemului de fișiere și setați parametrii acestora (comprimarea datelor, etc.).

Extindeți fișierele OS (exemplul arată instalarea pentru i386), creați config-urile de bază și copiați fișierul zpool.cache pentru ca ZFS să funcționeze corect. Stadiul final al instalării, demontați FS, instalați cotele și punctele de montare ale partițiilor. Instalarea este finalizată. Încărcăm sistemul HDD nou instalat, actualizăm porturile și arborele sursă al sistemului, colectăm lumea actualizată și kernelul sistemului în configurația cerută. Pentru ca utilizatorii să acceseze fișiere de stocare prin rețea, puteți utiliza samba sau ftp, descrierea modului de instalare și configurare a acestor servicii depășește domeniul de aplicare al acestui articol.


Un exemplu de script de instalare a sistemului poate fi descărcat [aici].

literatură

Articole similare