Search the Community
Showing results for tags 'lvm'.
-
Uneori aveti nevoie sa faceti mount la volume facute cu LVM si nu puteti utiliza clasicul mount direct pe device. (sdXX) Cam asa arata partiitia lvm vazuta la fdisk: root@debian:~# fdisk -l /dev/sda Disk /dev/sda: 240.1 GB, 240057409536 bytes 255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0001f2d1 Device Boot Start End Blocks Id System /dev/sda1 * 2048 514047 256000 83 Linux /dev/sda2 514048 468860927 234173440 8e [B]Linux LVM[/B] root@debian:~# Contrar asteptarilor, se face extrem de simplu utilizand utilitarul lvdisplay pentru a afisa volumele: root@debian:~# lvdisplay --- Logical volume --- LV Path /dev/vg/root LV Name root VG Name vg LV UUID QzUpJS-161D-2cwR-n0fs-jPRw-wkaS-cZ6SrR LV Write Access read/write LV Creation host, time devel02.vm, 2014-11-25 14:40:45 +0000 LV Status available # open 0 LV Size 214.62 GiB Current LE 6868 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0 --- Logical volume --- LV Path /dev/vg/tmp LV Name tmp VG Name vg LV UUID 7QpmhZ-8Fi1-ajzg-8803-2Bl1-qdee-KgyszE LV Write Access read/write LV Creation host, time devel02.vm, 2014-11-25 14:41:06 +0000 LV Status available # open 0 LV Size 1.00 GiB Current LE 32 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:1 --- Logical volume --- LV Path /dev/vg/swap LV Name swap VG Name vg LV UUID IXmZCW-rC3A-v8da-aLnQ-4jqA-amhq-TqRfhQ LV Write Access read/write LV Creation host, time devel02.vm, 2014-11-25 14:41:06 +0000 LV Status available # open 0 LV Size 7.69 GiB Current LE 246 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:2 Volumul care ne intereseaza este 'root' (lv name). Acum putem face mount folosind LV Path de la root + un director temporar root@debian:~# mkdir x root@debian:~# mount /dev/vg/root x/ Mai multe despre LVM puteti citi aici: Logical Volume Manager (Linux) - Wikipedia, the free encyclopedia
-
In acest articol voi discuta despre volume management in sistemele solaris. In articolul Structura fizica/logica disk-uri (system level) am explicat ce inseamna o partitie slice iar acum voi explica cum poate fi creat un volum raid 0 , si cum poate fi creat un volum raid 1 pentru mirroring. Pentru stocarea datelor este foarte important crerea unui ambient de mirroring. Voi da si o definitie simpla de baza pentrua intelege termenul hot spare pool.Structurele pot fi diverse ,deci asta depinde de procedurile pe care un corporate le impune pentru structura unui logical volume.Spre exemplu ar putea exista o simpla metoda de rsync intre 2 box-uri de storage la un anumit interval programat sau chiar crearea unui volum de mirroring care va face rsync in timp real , in mod paralel sau in mod serial.Am spus ca un simplu hard disk poate fi impartit in 10 slice de la 0 la 9 si ca 3 din ele nu pot fi modificate.Ei bine pentru crearea unui volum raid se pot folosi aceste partitii chemate slice. Structura unui slice poate fi reprezentata in felul urmator: --------- --------- - - - - - - - - - - - - -slice1 - -slice4 - - - - - - - - - - - - - --------- --------- c1d0s1 c1d1s4 ########################## c1 -> controller d0 -> primul disk (deoarece numaratoarea pleaca de la 0) s1 -> primul slice ######################### ######################### c1 -> controller d1 -> al doilea disk (deoarece numaratoarea pleaca de la 0) s4 -> al patrulea slice ######################## Note: Folosind format se poate aloca spatiu fiecarui slice "format - disk partitioning and maintenance utility" Preuspun ca userii sunt deja obijnuiti cu sigla RTFM asadar man format ar putea fi de ajutor. Oricum acest utility este interactiv , se alege discul, se alege partitia se va aloca spatiul pentru slice si se salveaza asadar fiecare slice poate fi folosita prin path-ul absolut care este: /dev/dsk/c1d0s1 si /dev/dsk/c1d1s4. Fiecarui slice va fi alocat spatiu , deci presupunem ca : /dev/dsk/c1d0s1 = 5 GB /dev/dsk/c1d1s4 = 5 GB Note: Este important ca spatiul sa fie acelasi atunci cand se va face mirroring In exemplu am folosit spatii mici soar pentru a intelege structura. Vom presupune ca primul disk vine folosit pentru stocarea datelor DB si il vom chema master iar al doilea il vom numi slave, acesta va tine o copie de backup a datelor din primul disk. In acelasi timp in cazul in care unul din disk-uri se va strica va exista intotdeauna o copie a datelor iar in momentul in care disck-ul va fi schimbat cu alt disck acesta va face o copie a disk-ului care detine datele . Se pot crea mai multe disk-uri pt mirroring deci nu e neaparat nevoie sa fie limitat la 2.In acest articol ma limit sa explic care ar fi idea unui mirroring deacea folosesc 2 disck-uri dar intruncorporate se vor folosi cum am mai spus diverse box-uri de storage cu spatiufoarte mare, (spre exemplu unitati de masura de tipul petabyte). Puteti sa vapierdeti cand faceti un volume discover de aceea presupun ca va lucra un grup de persoane si nu numai una singura (ar fi imposibil). Inainte de a crea un volum in solaris trebuie cunoscute cateva chestii. Avand in vedere faptul ca pot fi create mii de volume sistemul va trebui sa tina cont de fiecare volum in parte. Ei bine acest lucru se poate face prin crearea unui database.Nu este un database normal precum credeti dar are aceeasi structura pentru stocarea datelor.Este esential crearea unui database inainte de a crea un volum, deoarece sistemul nu va permite crearea volumului in cazul in care nu va gasi acest tip de database prezent in sistem. Acest database vine definit in urmatorul fel : "State Database Replicas". Avand in vedere faptul ca acest database vine creat intro partitie a unui disk este necesar sa fie create cat mai multe copii posibil tinand cont ca un disk poate fi corup iar daca vine corupt si acest database sistemul de logical volume vine corupt, acest lucru comporta pierderea datelor. Sistemul este in grad sa controleze si sa modifice un database in momentul in care vine corupt folosind un (majority consensus algorithm) Sistemul va rula daca cel putin jumatate din replici sunt disponibile (nu sunt corupte) Sistemul va intra in panica daca mai mult de jumatate din replici disponibile sunt corupte. Pentru a avea un echilibru este important ca sa fie create db-uri (replici) in toate disck-urile sau in majoritatea.O replica ocupa 4 Mbytes (8192 sectoare.) In urmatorul exemplu eu am creat cate doua db-uri pe fiecare disk. E important saexiste pe disk-uri diverse si nu toate in acelasi loc. Pentru a crea 2 db-uri pe fiecare partitie pe care le-am ales se poate face urmatoarea sintaxa: metadb -a -f -c 2 c1d0s1 metadb -a -f -c 2 c1d1s3 Urmatoarea sintaxa va arata daca totul a avut success a m pc luo 16 8192 /dev/dsk/c1d0s1 a pc luo 8208 8192 /dev/dsk/c1d0s1 a pc luo 16 8192 /dev/dsk/c1d1s4 a pc luo 8208 8192 /dev/dsk/c1d1s4 Note: Nu ezitati sa faceti si man metadb O data create aceste replici se poat crea volumele , In primul rand vom crea cate un volum raid 0 pe fiecare partitie in parte: /usr/sbin/metainit d0 1 1 c1d0s1 /usr/sbin/metainit d1 1 1 c1d1s4 Vom avea doua volume raid 0 d0 si d1 ls /dev/md/dsk d0 d1 Pentru a crea un mirror d2 raid1 cu d0 master si d1 slave /usr/sbin/metainit d2 -m d0 /usr/sbin/metattach d2 d1 ls /dev/md/dsk d0 d1 d2 Pentru a crea un filesystem UFS in acest volum se poatefolosi urmatoarea sintaxa : /usr/sbin/newfs /dev/md/rdsk/d2 Acest volum poate fi montat sub orice director. mount /dev/md/rdsk/d2 /mountpoint Note.Veti observa ca filesystem-ul are doar jumatate din dimensiunea partitiilor care le-ati folosit disponibila, cealalta jumatate vine folosita pentru mirror. ################################# # ........... ............ # # . d0 . . d1 . # # .---------. . ---------. # # .- -. . - -. # # .- -. . - -. # ________________________________________________ # .- -. . - -. # # .-slice1 -. . -slice4 -. # # .- -. . - -. # # .- -. . - -. # # .- -. . - -. # # .---------. . ---------. # # . c1d0s1 . . c1d1s4 . # # ........... ............ # # d2 # # # ################################# Datele vor fi scrise in mod egal in ambele partitii In teorie vor fi scrise pe primul disk si sincronizate in timp real pe al doilea. Am spus ca voi explica ce inseamna un hot spare pool: Un hot spare pool poate fi un disk unde vine creat un volum logic. Acest volum vine atasat la un volum de mirroring si va face in asa fel incat in momentul in care unul din disk-urile prezente in volum vine corupt il va inlocui in mod automat si iar datele vor face rsync in automat cu noul volum atasat. Bineinteles citind acest articol nu veti ajunge la un stadiu de experti dar veti intelege structura de baza care va va ajuta sa creati volume destul de complexe.Pe parcurs voi mai reveni cu articole de acest gen si chiar diverse pentru a ilustra diverse situatii care pot fi intalnite chiar si cu filesystem-uri diverse. wget http://sprunge.us/CJBb -O lvm_raid_solaris.txt