Search the Community
Showing results for tags 'vtoc'.
-
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