OmniOS - Root mirror
Tworzymy macierz RAID-1 dla dysku systemowego
Pierwszym ważnym elementem mającym na celu podniesienie bezpieczeństwa systemu plików jest zbudowanie macierzy lustrzanej dla dysków systemowych. Niektóre systemy operacyjne pozwalają stworzyć mirror z dysków, na których je instalujemy, już z poziomu kreatora instalacji. Instalator OmniOS nie posiada takiej funkcjonalności, niemniej jednak operacja jest prosta i bezpieczna do wykonania już na działającym systemie i w dowolnej chwili.
Zaczynamy od identyfikacji nazw napędów dyskowych w systemie, w tym celu wywołujemy polecenie format
root@test-builder:~# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c3t0d0
/pci@0,0/pci1462,7616@1f,2/disk@0,0
1. c3t1d0
/pci@0,0/pci1462,7616@1f,2/disk@1,0
2. c3t2d0
/pci@0,0/pci1462,7616@1f,2/disk@2,0
3. c3t3d0
/pci@0,0/pci1462,7616@1f,2/disk@3,0
4. c3t4d0
/pci@0,0/pci1462,7616@1f,2/disk@4,0
5. c3t5d0
/pci@0,0/pci1462,7616@1f,2/disk@5,0
Specify disk (enter its number): _
System został zainstalowany na pierwszym dysku, RAID-1 stworzymy z dysku pierwszego i drugiego. Oba dyski muszą pozwolić na uruchomienie systemu, więc na drugim dysku należy utworzyć strukturę partycji rozpoznawalną przez MBR. Partycja reprezentująca cały dysk w systemie nosi nazwę "p0":
root@test-builder:~# fdisk -B c3t1d0p0
root@test-builder:~# _
Następnie kopiujemy strukturę partycji z dysku pierwszego na drugi
root@test-builder:~# prtvtoc /dev/rdsk/c3t0d0s2 | fmthard -s - /dev/rdsk/c3t1d0s2
fmthard: Partition 2 specifies the full disk and is not equal
full size of disk. The full disk capacity is 117162045 sectors.
fmthard: Partition 2 specified as 117194175 sectors starting at 0
does not fit. The full disk contains 117162045 sectors.
fmthard: New volume table of contents now in place.
root@test-builder:~# _
Dodajemy nowy - pusty dysk ... i tu słowo wyjaśnienia: w systemie OpenSolaris oraz jego pochodnych, które oparte są na systemie plików ZFS, główny system plików utworzony jest zawsze w puli o nazwie rpool. Strukturę obecnie stworzonego systemu plików możemy obejrzeć poniżej:
root@test-builder:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 7,72G 46,9G 35K /rpool
rpool/ROOT 1,66G 46,9G 31K legacy
rpool/ROOT/omnios 1,66G 46,9G 1,40G /
rpool/ROOT/omniosvar 31K 46,9G 31K legacy
rpool/dump 4,00G 46,9G 4,00G -
rpool/export 76K 46,9G 32K /export
rpool/export/home 44K 46,9G 44K /export/home
rpool/swap 2,06G 49,0G 2,31M -
root@test-builder:~# _
root@test-builder:~# zpool list
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
rpool 55,5G 5,66G 49,8G - 10% 1.00x ONLINE -
root@test-builder:~# _
root@test-builder:~# zpool status
pool: rpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c3t0d0s0 ONLINE 0 0 0
errors: No known data errors
root@test-builder:~# _
Jak więc widać powyżej mamy pulę o nazwie rpool, w skład której wchodzi jeden dysk c3t0d0s0. Naszym zadaniem jest dodanie do tej puli drugiego, wcześniej przygotowanego dysku:
root@test-builder:~# zpool attach -f rpool c3t0d0s0 c3t1d0s0
Make sure to wait until resilver is done before rebooting.
root@test-builder:~# _
Wykonanie tej komendy trwa kilka sekund. Gdy odzyskamy wiersz poleceń zobaczmy co dzieje się w systemie:
root@test-builder:~# zpool status
pool: rpool
state: ONLINE
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Sun Mar 1 19:02:48 2015
497M scanned out of 5,66G at 29,3M/s, 0h3m to go
493M resilvered, 8,57% done
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c3t0d0s0 ONLINE 0 0 0
c3t1d0s0 ONLINE 0 0 0 (resilvering)
errors: No known data errors
root@test-builder:~# _
Po odczekaniu kolejnych 3 minut status wygląda następująco:
root@test-builder:~# zpool status
pool: rpool
state: ONLINE
scan: resilvered 5,66G in 0h3m with 0 errors on Sun Mar 1 19:06:10 2015
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c3t0d0s0 ONLINE 0 0 0
c3t1d0s0 ONLINE 0 0 0
errors: No known data errors
root@test-builder:~# _
Proszę zauważyć, że oba dyski obecnie znajdują się w kontenerze o nazwie mirror-0 i faktycznie pracują jako RAID-1. Osiągnęliśmy stan założony na początku tego rozdziału.
Ostatnią operacją jaka została do wykonania, jest instalacja MBR na dysku dodanym do systemu jako drugi (synchronizacja danych przeprowadzana jest jedynie w obrębie partycji czy raczej plastrów/kawałków <ang. slices> dodanych do macierzy):
root@test-builder:~# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c3t1d0s0
stage2 written to partition 0, 283 sectors starting at 50 (abs 16115)
stage1 written to partition 0 sector 0 (abs 16065)
root@test-builder:~# _
Od tego momentu system może zostać załadowany z dowolnego z dwóch dysków systemowych.
Side Effects, Safety, and Dosage <a href=https://cialis.lat/discover-the-best-prices-for-cialis>generic cialis from india</a> Pulmonary infarction, which may be seen in the setting of pulmonary embolism, can lead to a triple match defect, a region of absent or decreased ventilation and perfusion corresponding to airspace opacity on chest radiographs or CT images