Jump to content

Search the Community

Showing results for tags 'newfs'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Informatii generale
    • Anunturi importante
    • Bine ai venit
    • Proiecte RST
  • Sectiunea tehnica
    • Exploituri
    • Challenges (CTF)
    • Bug Bounty
    • Programare
    • Securitate web
    • Reverse engineering & exploit development
    • Mobile security
    • Sisteme de operare si discutii hardware
    • Electronica
    • Wireless Pentesting
    • Black SEO & monetizare
  • Tutoriale
    • Tutoriale in romana
    • Tutoriale in engleza
    • Tutoriale video
  • Programe
    • Programe hacking
    • Programe securitate
    • Programe utile
    • Free stuff
  • Discutii generale
    • RST Market
    • Off-topic
    • Discutii incepatori
    • Stiri securitate
    • Linkuri
    • Cosul de gunoi
  • Club Test's Topics
  • Clubul saraciei absolute's Topics
  • Chernobyl Hackers's Topics
  • Programming & Fun's Jokes / Funny pictures (programming related!)
  • Programming & Fun's Programming
  • Programming & Fun's Programming challenges
  • Bani pă net's Topics
  • Cumparaturi online's Topics
  • Web Development's Forum
  • 3D Print's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Yahoo


Jabber


Skype


Location


Interests


Biography


Location


Interests


Occupation

Found 2 results

  1. 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
  2. In acest topic/tutorial voi explica intrun mod tehnic dar in acelasi timp simplu de inteles pentru nivelul unui user structura disk-urilor in Solaris Voi simplifica totul in cateva optiuni: - Cum vine vazut un disk fizic (hard disk) de catre sistem - Cum vin create partitiile intrun disk la nivelul sistemului -Cum vine vazut un disk fizic de catre sistem Presupunem ca avem un hard disk care poate fi reprezentat in urmatorul fel: ----------------- - - - - -> Primul hard disk c1d0 - - ----------------- ----------------- - - - - -> Al doilea hard disk c1d1 - - ----------------- In solaris fiecarui disk ii vine atribuit un nume, asadar poate fi recunoscut de catre sistem in baza numelui pe care il poarta. c -> logical controller d -> disk number Avem doua discuri colegate la acelasi controller care are valoarea 1 si vine specificata de catre litera (c) , si numarul care ii vine atribuit fiecarui disk de catre litera (d) incepand de la 0. Deci 0 va fi primul disk colegat (de obicei este discul unde vine instalat sistemul) iar 1 va fi al doilea disk colegat la acest sistem Pentru a functiona discurile necesita sa fie formatate ,si au nevoie de o partitie. - Cum vin create partitiile intrun disk la nivelul sistemului Note: In sistemele X86 solaris va crea o singura partitie pe fiecare disk carei ii va atribui urmatorul id 0xbf. Structura disk-ului va fi modificata in felul urmator: c1d0 disk ----------------- -############## - -# 1partition # - aceasta partitie va mosteni id-ul 0xbf(Solaris) -############## - ----------------- Note: Intrun disk se pot crea pana la un maxim de 4 partitii In solaris fiecare partitie la randul ei vine impartita in "bucati" mai mici care vin chemate slice. In sistemele x86 o partitie poate contine un maxim de 10 slice Structura unui hard disk cu o singura partitie impartita in 10 slice: --------------------------------- -###############################- -# # # # # # # # # # #- -#0 #1 #2 #3 #4 #5 #6 #7 #8 #9 #- -# # # # # # # # # # #- -###############################- --------------------------------- Note:Numerele pleaca de la 0 In fiecare slice se poate crea un filesystem Un slice este echivalent cu o partitie pentru solaris , aceeasi structura vine definita si in sistemele FreeBSD. Partitiile (slice) 2,8,9 vin rezervate iar restul pot fi folosite pentru a crea diverse sisteme de fisiere sau chiar o structura de Logical Volume. ############################################################################ 2 - reprezinta un slice de bakup (in teorie numele are doar un tag de backup dar reprezinta dimenisunea totala a disk-ului) 8 - reprezinta sectorul de boot al sistemului 9 - reprezinta un slice altenativ cu doar 2 cilindri ############################################################################ 0 - de obice contine filesyste-ul root atunci cand vine instalat sistemul dar poate fi creat oricare alt filesystem sau chiar introdus intrun volum logic 1,3,4,5,6,7 pot fi folosite pentru orice ############################################################################ Note: Toata informatia in legatura cu structura acestor partitii chemat slice vine stocata in (Volume Table Of Contents) chemata VTOC VTOC ocupa primul si al doilea sector din partitia de boot Exista un tool care extrage informatii in legatura cu geometria discului si a partitiilor.Se numeste prtvtoc si are o pagina de manual care poate fi accesata cu man prtvtoc. Exemplu partitii slice de default dupa instalarea unui sistem: Part Tag Flag Cylinders Size Blocks 0 root wm 3 - 762 5.82GB (760/0/0) 12209400 1 swap wu 763 - 838 596.16MB (76/0/0) 1220940 2 backup wm 0 - 1236 9.48GB (1237/0/0) 19872405 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 home wm 839 - 1236 3.05GB (398/0/0) 6393870 8 boot wu 0 - 0 7.84MB (1/0/0) 16065 9 alternates wu 1 - 2 15.69MB (2/0/0) 32130 - prima coloana detine numerele partitiilor chemate slice - a doua coloana poate defini numele partitiilor ,(acestea pot fi: root,swap, usr, stand, var, home, sau unassigned ) - a treia coloana wm -> write, mountable wu -> write, unmountable - in a patra coloana vin specificate valorile cilindrilor pentru fiecare partitie - in ultimele coloane vine specificata dimensiunea in KB,MB,GB si block size Recapituland am spus ca primul hard disk vine identificat de catre sistem ca fiind c1d0 c -> logical controller d -> disk number Ei bine fiecare slice vine identificat de catre litera (s) care detine valoarea partitiei chemata slice .Deci avand in vedere faptul ca primul slice si anume 0 contine filesyste-ul root vom avea urmatorul path : /dev/dsk/c1d0s0 Iar spre exemplu home vine inpartitia numarul 7 deci vom avea ca path /dev/dsk/c1d0s7 ############################## Pentru filesystemul root avem: c1 -> logical controller d0 -> primul disk s0 -> primul slice ############################## ############################## Pentru filesystem-ul home avem: c1 -> logical controller d0 -> primul disk s7 -> al saptelea slice ############################## Sa luam un alt exemplu: Presupunem faptul ca vom exporta opt pe prima partitie pe al doilea disk ############################## Pentru filesystem-ul opt avem: c1 -> logical controller d1 -> al doilea disk s0 -> primul slice ############################## Un df /opt ne va demonstra acest lucru /opt (/dev/dsk/c1d1s0 ): 6076556 blocks 504179 files In aceste exemple am folost disk-uri IDE in schimb intrun SCSI device vom mai avea o litera si anume (t) Un simplu exemplu pentru structura SCSI: ################################ c0t0d0s0 c0 -> primul logical controller t0 -> primul logical unit number d0 -> primul disk s0 -> primul slice ################################ Pentru a modifica partitiile chemate slice se poate folosi un tool chemat format, exista o pagina de manual si pentru acest tool man format care spune " format - disk partitioning and maintenance utility" Note: Spre exemplu cand vine introdus un nou disk de default sistemul nu il va recunoaste , aici poate veni in ajutor un alt tool cmd-line si anume " devfsadmd - administration command for /dev" O simpla sintaxa pentru a scana sistemul in cautarea disk-urilor in mode verbose poate fi urmatoarea: devfsadm -vC O data ce disk-urile vin gasite , pot fi administrate folosind format Exemplu extras din format: ###################################################### AVAILABLE DISK SELECTIONS: 0. c1d0 <DEFAULT cyl 1237 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@9/ide@1/cmdk@0,0 1. c1d1 <DEFAULT cyl 3048 alt 2 hd 128 sec 32> /pci@0,0/pci-ide@9/ide@1/cmdk@1,0 ###################################################### Aici avem 2 discuri IDE , un master si un slave , master fiind disk-ul de boot.Format are incluse diverse opriuni printe care (partition) cu care se pot aloca partitiile chemate slice si fdisk pentru a crea partitiile pentru disk inainte de a crea partitiile slice. Intrun ambient mic pot fi 2 discuri , exemplele precedente au fost extrase din sistemul meu solaris , dar intrun corporation pot fi sute de discuri structurate intrun StorageBox Un exemplu: /dev/dsk/c1t0d0p0 /dev/dsk/c1t0d0p1 /dev/dsk/c1t0d0p2 /dev/dsk/c1t0d0p3 /dev/dsk/c1t0d0p4 /dev/dsk/c1t0d0s0 /dev/dsk/c1t0d0s1 ................. ................. Note: Fiecare dispozitiv in /dev/dsk este defapt un link simbolic catre /devices ################################################################### ls -ltr /dev/dsk/c1d0s0 /dev/dsk/c1d0s0 -> ../../devices/pci@0,0/pci-ide@9/ide@1/cmdk@0,0:a ################################################################### Fiecare dispozitiv in /dev/dsk/ are o instanta in /dev/rdsk Cele sub /dev/dsk/ sunt dispozitive de random-access aici se pot crea filesystem-urile Cele sub /dev/rdsk sunt dispozitive raw utilizate pentru functii de access low-level. O data ce vin alocate spatiile in partitiile chemate slice folosind format se poate crea un filesystem pentru fiecare partitie folosind comandul newfs "newfs - construct a UFS file system" Sintaxa este foarte simpla Presupunem ca am creat urmatoarele slice 3 si 4 /dev/rdsk/c1d1s3 - 512 mb /dev/rdsk/c1d1s4 - 512 mb Vom crea un file system pe fiecare si vom face mount in testslice3 si testslice4 newfs /dev/rdsk/c1d1s3 newfs /dev/rdsk/c1d1s4 Note:Atentie newfs va distruge toate datele, iar daca vine folosit intrun path gresit poate distruge sistemul. Pentru a face mount mount /dev/rdsk/c1d1s3 testslice3 && mount /dev/rdsk/c1d1s3 testslice4 Pentru a face in asa fel incat sa faca mount automat la reboot va trebui modificat fisierul /etc/vfstab. Download paper wget http://sprunge.us/TiQS -O solaris_disks.txt
×
×
  • Create New...