uplink-gemini/articles/2018-12-14_000-kako-odstranimo-solaris-zone.gmi

111 lines
4.6 KiB
Plaintext
Raw Permalink Normal View History

2022-01-07 15:32:19 +01:00
# Kako odstranimo Solaris Zone?
Zgodilo se je nekaj, kar se včasih pač zgodi. Ena od Solaris Zone je v nekem trenutku nehala delovati. Ne vem čisto točno, kaj se je zgodilo, vendar po eni nadgradnji sistema ni več želela sodelovati. Odpovedala je. Zagnala se je še, vendar spletna povezava ni funkcionirala. S tem pa niso delovale posodobitve, ni delovalo pridobivanje podatkov s spleta … Njeno bistvo je bilo … ga ni več bilo. Nekaj časa sem jo še pustil, za vsak slučaj. Od takrat je zdaj minilo že več kot eno leto, zato je prišel čas, da malo pospravim. Ne zaseda prav veliko prostora, mogoče zaseda nekaj pomnilnika in procesorske moči, ko se ob ponovnem zagonu strežnika zažene hkrati z drugimi Zone … Po nepotrebnem upočasnjuje ostale. Zdaj je prišel čas, da se poslovi.
Najprej poglejmo, ali je Zone trenutno zagnana in kakšno je stanje:
```
matjaz@server:~$ zoneadm list -civ
ID NAME STATUS PATH BRAND IP
0 global running / ipkg shared
1 lxgit0 running /tank/zones/lxgit0 lx excl
2 zrepo0 running /tank/zones/zrepo0 ipkg excl
5 zweb1 running /tank/zones/zweb1 ipkg excl
6 zrepo1 running /tank/zones/zrepo1 ipkg excl
```
Zone zrepo0 teče. Po zadnjem ponovnem zagonu sistema se je spet samodejno zagnala. To pomeni, da jo bo treba za začetek ugasniti.
```
root@server:~# zoneadm -z zrepo0 halt
```
In se je ugasnila. Sledi odstranitev sistema (uninstall)
```
root@server:~# zoneadm -z zrepo0 uninstall
Are you sure you want to uninstall zone zrepo0 (y/[n])? y
promoting 'tank/zones/zrepo0/ROOT/zbe-52'.
```
Sledi izbris zone:
```
root@server:~# zonecfg -z zrepo0 delete
Are you sure you want to delete zone zrepo0 (y/[n])? y
```
To je kar nekam hitro minilo, kar mi daje misliti, da verjetno ni uničilo ZFS datotečnega sistema. Pogledamo:
```
root@server:~# ls /tank/zones/
lxgit0 zones.txt zrepo0 zrepo1 zweb1
```
zrepo0 še vedno obstaja. Poskusimo ga ročno uničiti:
```
root@server:~# zfs destroy tank/zones/zrepo0
cannot destroy 'tank/zones/zrepo0': filesystem has children
use '-r' to destroy the following datasets:
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-07_22.00.11--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-09-08_22.00.01--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-07-02_07.00.01--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-07-21_22.00.01--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-10-29_07.00.14--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-07-14_22.00.03--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-12-10_22.00.01--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-24_22.00.01--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-11-16_22.00.00--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-07_07.00.01--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-12-03_07.00.12--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-02_22.00.00--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-21_07.00.00--6m
tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-11-30_22.00.01--6m
...
```
No, to ni delovalo. Dodati moramo še opcijo -r, da bo ukaz rekurzivno uničil vse podrejene zfs sisteme. Poskusimo:
```
root@server:~# zfs destroy -r tank/zones/zrepo0
```
Ukaz si zdaj vzame nekaj časa za mletje. Vendar v nekem trenutku konča. Preverimo, ali je zfs sistem izbrisan:
```
root@server:~# ls /tank/zones/
lxgit0 zones.txt zrepo1 zweb1
```
Je. zrepo0 ni več na seznamu. Zdaj sledi še izbris virtualnega omrežnega vmesnika. Najprej pogledamo, s čim imamo opravka:
```
root@server:~# dladm show-link
LINK CLASS MTU STATE BRIDGE OVER
bge0 phys 1500 up -- --
zrepo0 vnic 1500 up -- bge0
lxgit0 vnic 1500 up -- bge0
zweb1 vnic 1500 up -- bge0
zrepo1 vnic 1500 up -- bge0
```
zrepo0 je v tem primeru ime virtualnega vmesnika, ki ga moramo izbrisati. To naredimo tako:
```
root@server:~# dladm delete-vnic zrepo0
```
Pa poglejmo, ali je vmesnik zbrisan s seznama:
```
root@server:~# dladm show-link
LINK CLASS MTU STATE BRIDGE OVER
bge0 phys 1500 up -- --
lxgit0 vnic 1500 up -- bge0
zweb1 vnic 1500 up -- bge0
zrepo1 vnic 1500 up -- bge0
```
zrepo0 več ni na seznamu. Zbrisan je. In s tem tudi zadnja sled, da je Zone zrepo0 sploh kdaj obstajala na tem sistemu.