} { strona główna } { forum } { kontakt } {



Strefa czasowa: UTC + 1




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 63 ]  Przejdź na stronę 1, 2, 3, 4, 5  Następna strona
Autor Wiadomość
Post Napisane: piątek, 15 stycznia 2010, 07:58
 
Offline
Guru
Avatar użytkownika

Dołączył(a): środa, 31 maja 2006, 01:26
Posty: 3378
Lokalizacja: pl_PL.lodz
Przez te wszystkie lata sysinstall(8) pomagal nam zainstalowac FreeBSD z wiekszascia potrzebnych opcji, dzisiaj wraz z pojawieniem sie nowych systemow plikow/rozwiazan jak GJournal/ZFS/Geli/GMirror/GStripe, sysinstall nie staje juz na wysokosci zadania, poniewaz jedyne co obsluguje, to instalacja na UFS (ewentualnie z SoftUpdates).

W tym poradniku dowiesz sie jak postawic FreeBSD w prosty sposob, z partycja read-only na "base system" z UFS (bez SoftUpdates), SWAP oraz /tmp montowany na SWAP, a wszystkie pozostale systemy plikow na ZFS. Nie bedzie to wymagac przebudowy bootloadera, czy czegokolwiek innego, bedziemy uzywac partycji MBR. Dodam takze, ze bedziemy uzywac nowej funkcjonalnosci AHCI we FreeBSD (ktora bardzo polepsza wydajnosc dzieki implementacji NCQ).

Ponizej uklad partycji na dysku:
Kod:
             +       /   512 MB --> UFS/read-only
MBR SLICE 1  +  [SWAP]     2 GB
             +    /tmp     1 GB --> montowany na SWAP przez mdmfs(8)
-----------------------------------------------------------------
             +    /usr        - --> ZFS
MBR SLICE 2  +    /var        - --> ZFS
             +     ...        - --> ZFS


Rdzen FreeBSD, czyli "base system" na codzien nie bedzie zmieniany (read-only), bedzie za to mozna bawic sie pozostalymi systemami plikow, zapewnia to pewnosc, ze jezeli cos pojdzie nie tak, bedziemy mogli wszystko naprawic posiadajac sprawny "base system".

Bedziesz potrzebowal obrazu *-dvd-* na plycie albo obrazu *-memstick-* na pendrive, obraz *-disk1-* nie nadaje sie, gdyz nie zawiera livefs.

Ponizej procedura, opisana tak prosto jak to mozliwe.

1.0. Zakladam, ze dyskiem do instalacji bedzie /dev/ad0

1.1. Zbootuj *-dvd-* z plyty DVD albo z obrazu *-memstick-* na pendrive
    Kod:
    Country Selection --> United States
    Fixit --> CDROM/DVD (*-dvd-*) or USB (*-memstick-*)

1.2. Stworz tymczasowe srodowisko pracy
    Kod:
    fixit# /mnt2/bin/csh
    fixit# setenv PATH /mnt2/rescue:/mnt2/usr/bin
    fixit# set filec
    fixit# set autolist
    fixit# set nobeep

1.3. Zaladuj potrzebne moduly
    Kod:
    fixit# kldload /mnt2/boot/kernel/geom_mbr.ko
    fixit# kldload /mnt2/boot/kernel/opensolaris.ko
    fixit# kldload /mnt2/boot/kernel/zfs.ko

1.4. Stworz/zamontuj potrzebne systemy plikow
    Kod:
    fixit# cat > part << __EOF__
    p 1 165 63 2560M
    p 2 165  *     *
    p 3   0  0     0
    p 4   0  0     0
    a 1
    __EOF__
    fixit# fdisk -f part ad0

    fixit# bsdlabel -B -w ad0s1
    fixit# cat > label << __EOF__
    # /dev/ad0s1:
    8 partitions:
      a: 512m  0 4.2BSD
      b: *     * swap
    __EOF__
    fixit# bsdlabel ad0s1 | tail -1 >> label
    fixit# bsdlabel -R ad0s1 label

    Kod:
    fixit# glabel label rootfs ad0s1a
    fixit# glabel label swap ad0s1b

    fixit# newfs /dev/label/rootfs
    fixit# zpool create basefs ad0s2
    fixit# zfs create basefs/usr
    fixit# zfs create basefs/var

    fixit# mkdir /NEWROOT
    fixit# mount /dev/label/rootfs /NEWROOT
    fixit# zfs set mountpoint=/NEWROOT/usr basefs/usr
    fixit# zfs set mountpoint=/NEWROOT/var basefs/var

1.5. Zainstaluj potrzebne zestawy FreeBSD
    Kod:
    fixit# setenv DESTDIR /NEWROOT
    fixit# cd /dist/8.0-RELEASE

    fixit# cd base
    fixit# ./install.sh # odpowiedz ' y '
    fixit# cd ..

    fixit# cd manpages
    fixit# ./install.sh
    fixit# cd ..

    fixit# cd kernels
    fixit# ./install.sh generic
    fixit# cd /NEWROOT/boot
    fixit# rm -r kernel
    fixit# mv GENERIC kernel

1.6. Podstawowa konfiguracja potrzebna do startu nowego systemu
    Kod:
    fixit# cat > /NEWROOT/etc/fstab << __EOF__
    #dev                #mount   #fs   #opts   #dump   #pass
    /dev/label/rootfs   /        ufs   rw      2       2
    /dev/label/swap     none     swap  sw      0       0
    basefs/var          /var     zfs   rw      0       0
    basefs/usr          /usr     zfs   rw      0       0
    __EOF__

    fixit# cat > /NEWROOT/boot/loader.conf << __EOF__
    zfs_load="YES"
    ahci_load="YES"
    __EOF__

    fixit# zfs set mountpoint=/usr basefs/usr
    fixit# zfs set mountpoint=/var basefs/var

1.7. Odmontuj systemy plikow i uruchom ponownie
    Kod:
    fixit# umount /NEWROOT/var
    fixit# umount /NEWROOT/usr
    fixit# umount /NEWROOT
    fixit# reboot

Teraz czas na zadania do zrobienia po starcie nowego systemu

2.0. Jezeli zrzuci cie do trybu "single user mode"
    Uzyj tych polecen aby zaimportowac i zamontowac basefs zpool:
    Kod:
    newsystem# zpool import -f basefs
    newsystem# zfs mount basefs/var
    newsystem# zfs mount basefs/usr

2.1. Ustaw haslo root
    Kod:
    newsystem# passwd

2.2. Ustaw hostname
    Kod:
    newsystem# echo hostname=\"HOSTNAME\" >> /etc/rc.conf

2.3. Ustaw strefe czasowa oraz czas
    Kod:
    menu# tzsetup
    manual# cat /usr/share/zoneinfo/Europe/Warsaw > /etc/localtime
    time# date 201001142240

2.4. Ustaw ZFS (tylko dla i386)
    Kod:
    newsystem# cat > /boot/laoder.conf << __EOF__
    vfs.zfs.prefetch_disable=0      # enable prefetch
    vfs.zfs.arc_max=134217728       # 128 MB
    vm.kmem_size=536870912          # 512 MB
    vm.kmem_size_max=536870912      # 512 MB
    vfs.zfs.vdev.cache.size=8388608 #   8 MB
    __EOF__

2.5. Zamontuj /tmp na swap
    Kod:
    newsystem# cat >> /etc/rc.conf << __EOF__
    tmpmfs="YES"
    tmpsize="1024m"
    tmpmfs_flags="-m 0 -o async,noatime -S -p 1777"
    __EOF__

2.6. Przenies termcap na /etc (zamiast posiadac bezuzyteczny przy problemach link)
    Kod:
    newsystem# rm /etc/termcap
    newsystem# mv /usr/share/misc/termcap /etc
    newsystem# ln -s /etc/termcap /usr/share/misc/termcap

2.7. Dodaj najnowsze latki bezpieczenstwa
    Kod:
    newsystem# freebsd-update fetch
    newsystem# freebsd-update install

2.8. Wprowadz wszystkie potrzebne zmiany w /etc, nastepnie ustaw / w tryb read-only
    Kod:
    .#dev                #mount   #fs   #opts   #dump   #pass
    +/dev/label/rootfs   /        ufs   ro      2       2
    -/dev/label/rootfs   /        ufs   rw      2       2
    ./dev/label/swap     none     swap  sw      0       0

2.9. Uruchom ponownie
    Kod:
    newsystem# shutdown -r now

Na koniec male podsumowanie co zapewni nam powyzsza procedura instalacji:
    -- kulodporny "base system" ma UFS (bez SU) zamontowany w trybie read-only
    -- system plikow /tmp zamontowany na SWAP
    -- wykorzystanie nowego we FreeBSD trybu AHCI
    -- elastycznosc dla wszystkich innych systemow plikow dzieki ZFS
    -- w pelni sprawne srodowisko podczas awarii (/etc/termcap)
    -- dyski/systemy plikow zamontowane za pomoca etykiet, przypadkowe zmiany nazw urzadzen beda bezbolesne


CHANGELOG

1.0 / 2010-01-14 / pierwsza wersja
1.1 / 2010-01-15 / uproszczony PATH
Kod:
+fixit# setenv PATH /mnt2/rescue:/mnt2/usr/bin
-fixit# setenv PATH /mnt2/bin:/mnt2/sbin:/mnt2/usr/bin:/mnt2/usr/sbin

1.2 / 2010-01-15 / dodany link dla termcap (bez duplikowania na /etc i /usr) [2.6.]
Kod:
.newsystem# rm /etc/termcap
+newsystem# mv /usr/share/misc/termcap /etc
+newsystem# ln -s /etc/termcap /usr/share/misc/termcap
-newsystem# cp /usr/share/misc/termcap /etc


Komentarze mile widziane.

MIRROR THREAD: http://daemonforums.org/showthread.php?t=4200
MIRROR THREAD: http://forums.freebsd.org/showthread.php?t=10334

_________________
religions, worst damnation of mankind
vermaden's: links deviantart daemonforums


Ostatnio edytowano sobota, 3 lipca 2010, 22:48 przez vermaden, łącznie edytowano 8 razy

Góra
 WWW  Zobacz profil
Post Napisane: piątek, 15 stycznia 2010, 13:07
 
Offline
Zaawansowany
Avatar użytkownika

Dołączył(a): czwartek, 17 czerwca 2004, 09:44
Posty: 232
Lokalizacja: Łuków
w którym momencie inicjowany jest bootloader ?

_________________
pozdrawiam ...


Góra
 Zobacz profil
Post Napisane: piątek, 15 stycznia 2010, 14:20
 
Offline
Profesjonalista

Dołączył(a): wtorek, 19 czerwca 2007, 19:23
Posty: 513
pewnie by sie dalo to jeszcze fajnie oskryptowac w jakis prosty sposob , ale i tak gratulacje ,bardzo fajnie miec to w jednym miejscu .


Góra
 Zobacz profil
Post Napisane: piątek, 15 stycznia 2010, 14:23
 
Offline
Guru

Dołączył(a): środa, 20 grudnia 2006, 17:50
Posty: 2620
uho napisał(a):
w którym momencie inicjowany jest bootloader ?

Ja bym powiedzial, ze w tym:
Kod:
bsdlabel -B -w ad0s1

man bsdlabel napisał(a):
Installing Bootstraps
If the -B option is specified, bootstrap code will be read from the file
/boot/boot and written to the disk. The -b boot option allows a differ‐
ent file to be used.

;)


Góra
 Zobacz profil
Post Napisane: piątek, 15 stycznia 2010, 15:21
 
Offline
Guru
Avatar użytkownika

Dołączył(a): środa, 31 maja 2006, 01:26
Posty: 3378
Lokalizacja: pl_PL.lodz
@uho

To co napisal marc jest najistotniejsze, jednak jezeli nie oznaczymy pierwszej partycji jako aktywna (a 1), wtedy tez sie nie zbootuje.

osborne napisał(a):
pewnie by sie dalo to jeszcze fajnie oskryptowac w jakis prosty sposob

To juz sie nadaje do wrzucenia do skryptu, myslisz ze czemu napisalem tak:
Kod:
fixit# bsdlabel -B -w ad0s1
fixit# cat > label << __EOF__
# /dev/ad0s1:
8 partitions:
  a: 512m  0 4.2BSD
  b: *     * swap
__EOF__
fixit# bsdlabel ad0s1 | tail -1 >> label
fixit# bsdlabel -R ad0s1 label


... zamiast tak:
Kod:
fixit# bsdlabel -B -w ad0s1
fixit# bsdlabel -e ad0s1

Wprowadz zmiany:
Kod:
# /dev/ada0s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
+ a:     512m        0    4.2BSD
+ b:        *        *    swap
- a:  1048576        0    4.2BSD        0     0     0
- b:  4193969  1048576      swap                   
  c:  5242545        0    unused        0     0         # "raw" part, don't edit
~
~
~
~
~
:wq


Do tego mala zmiana dla setu base:
Kod:
+ fixit# cat base.?? | tar --unlink -xpzf - -C ${DESTDIR:-/}
- fixit# ./install.sh # odpowiedz ' y '


I juz ;)

_________________
religions, worst damnation of mankind
vermaden's: links deviantart daemonforums


Góra
 WWW  Zobacz profil
Post Napisane: wtorek, 16 marca 2010, 19:11
 
Offline
Guru
Avatar użytkownika

Dołączył(a): środa, 31 maja 2006, 01:26
Posty: 3378
Lokalizacja: pl_PL.lodz
Dorzucilem jeszcze sposob instalacji dla 3 dyskow, mozna zassac sobie calt HOWTO w postaci pliku HTML:
http://strony.toya.net.pl/~vermaden/text/modern_freebsd_install.html

... ale nie chcialo mi sie juz tkumaczyc na polski ;)

_________________
religions, worst damnation of mankind
vermaden's: links deviantart daemonforums


Góra
 WWW  Zobacz profil
Post Napisane: wtorek, 16 marca 2010, 21:20
 
Offline
Pomocnik Murarza
Avatar użytkownika

Dołączył(a): sobota, 15 kwietnia 2006, 21:42
Posty: 663
Lokalizacja: Wrocław
vermaden napisał(a):
Dorzucilem jeszcze sposob instalacji dla 3 dyskow


jutro będę to robił na 3 dyskach, zobaczymy co mi wyjdzie.

maciek


Góra
 WWW  Zobacz profil
Post Napisane: wtorek, 16 marca 2010, 21:49
 
Offline
Guru
Avatar użytkownika

Dołączył(a): środa, 31 maja 2006, 01:26
Posty: 3378
Lokalizacja: pl_PL.lodz
@tytus

Ja tak mam u siebie (jak w tym HOWTO) na 3 dyskach, datasetow ZFS mam tylko wiecej:

Kod:
% zpool status
    pool: basefs
   state: ONLINE
   scrub: scrub completed after 1h15m with 0 errors on Fri Mar 12 23:29:14 2010
  config:

        NAME        STATE     READ WRITE CKSUM
        basefs      ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            ada0s3  ONLINE       0     0     0
            ada1s3  ONLINE       0     0     0
            ada2s3  ONLINE       0     0     0

errors: No known data errors


Kod:
% zfs get -r compressratio basefs
NAME                        PROPERTY       VALUE                       SOURCE
basefs                      compressratio  1.00x                       -
basefs/usr                  compressratio  1.00x                       -
basefs/usr/compat           compressratio  1.00x                       -
basefs/usr/doc              compressratio  1.00x                       -
basefs/usr/home             compressratio  1.00x                       -
basefs/usr/include          compressratio  3.04x                       -
basefs/usr/local            compressratio  1.24x                       -
basefs/usr/local/etc        compressratio  2.27x                       -
basefs/usr/local/include    compressratio  3.70x                       -
basefs/usr/local/info       compressratio  3.70x                       -
basefs/usr/local/man        compressratio  1.00x                       -
basefs/usr/local/share      compressratio  1.68x                       -
basefs/usr/obj              compressratio  1.00x                       -
basefs/usr/ports            compressratio  1.12x                       -
basefs/usr/ports/distfiles  compressratio  1.00x                       -
basefs/usr/ports/obj        compressratio  2.22x                       -
basefs/usr/ports/packages   compressratio  1.00x                       -
basefs/usr/share            compressratio  1.35x                       -
basefs/usr/share/man        compressratio  1.00x                       -
basefs/usr/src              compressratio  3.29x                       -
basefs/var                  compressratio  1.12x                       -
basefs/var/ccache           compressratio  2.02x                       -
basefs/var/crash            compressratio  1.00x                       -
basefs/var/db               compressratio  1.07x                       -
basefs/var/log              compressratio  2.01x                       -
basefs/var/tmp              compressratio  2.31x                       -

_________________
religions, worst damnation of mankind
vermaden's: links deviantart daemonforums


Góra
 WWW  Zobacz profil
Post Napisane: środa, 17 marca 2010, 08:29
 
Offline
Pomocnik Murarza
Avatar użytkownika

Dołączył(a): sobota, 15 kwietnia 2006, 21:42
Posty: 663
Lokalizacja: Wrocław
ja mam 4 dyski po 500giga wiec się tez zastanawiam ile datasetów zrobić, jeden dysk zostawiam sobie na backupy.

maciek


Góra
 WWW  Zobacz profil
Post Napisane: środa, 17 marca 2010, 08:42
 
Offline
Guru
Avatar użytkownika

Dołączył(a): środa, 31 maja 2006, 01:26
Posty: 3378
Lokalizacja: pl_PL.lodz
@tytus

Jeden dysk na backupy?

To jak ty to chcesz postawic?

Przeciez po to ma sie kilka dyskow zeby miec redundancje, zwlaszcza na backup.

Ja bym postawil RAID5 albo RAID10 na tych 4 dyskach.

Problem z RAID5 jest takie ze nie jest szybciej pomimo wielu dyskow, dopiero przy RAID50 byloby szybciej (RAID0 z dwoch RAID5), ale do tego trzebaby juz 6 dyskow conajmniej, a przy RAID10 niecaly 1TB na storage to tez troche malo, przynajmniej 1.4TB na RAID5 brzmi napewno lepiej ;)

_________________
religions, worst damnation of mankind
vermaden's: links deviantart daemonforums


Góra
 WWW  Zobacz profil
Post Napisane: środa, 17 marca 2010, 08:55
 
Offline
Pomocnik Murarza
Avatar użytkownika

Dołączył(a): sobota, 15 kwietnia 2006, 21:42
Posty: 663
Lokalizacja: Wrocław
no właśnie się zastanawiam cały czas czy zrobić ridi10 czy zostawić sobie jeden dysk. Raz mi się cały raid rozwalił ale wtedy miałem wszystko na tych samych dyskach. Teraz mam dwa samsungi i dwa seagate. Wiem jestem paranoikiem ;)

edit: przy raid10 nie martwi mnie to ze mam tylko 1T, obecny system zajmuje mi 200G, wiec przyrost na prędkości by mnie zadowalał bardziej niż ilość miejsca.

maciek


Góra
 WWW  Zobacz profil
Post Napisane: środa, 17 marca 2010, 09:22
 
Offline
Guru
Avatar użytkownika

Dołączył(a): środa, 31 maja 2006, 01:26
Posty: 3378
Lokalizacja: pl_PL.lodz
Skoro juz masz 2 x dwa dyski (a nie 4 takie same), to samo nasuwa sie RAID10, ja bym tak zrobil przynajmniej.

Zwlaszcza, ze jak mowisz, nie masz zbyt wiele danych.

W jakich okoicznosciach 'rozpadl' ci sie poprzednio RAID?

_________________
religions, worst damnation of mankind
vermaden's: links deviantart daemonforums


Góra
 WWW  Zobacz profil
Post Napisane: środa, 17 marca 2010, 09:57
 
Offline
Pomocnik Murarza
Avatar użytkownika

Dołączył(a): sobota, 15 kwietnia 2006, 21:42
Posty: 663
Lokalizacja: Wrocław
vermaden napisał(a):
W jakich okoicznosciach 'rozpadl' ci sie poprzednio RAID?


To byłą jakaś zrypana wersja dysków WD (modelu nie pamiętam - będę u nich to spisze) no i jak walnął jeden dysk myślałem, że mam troch czasu. Na spokojnie go wyjąłem i poszedłem do serwisu. Zanim wrócił dwa kolejne padły.

edit:
jeżeli dobrze rozumiem dokumentację to dla raid10 muszę zrobić:

Kod:
zpool create basefs raidz ad0s3 ad1s3 ad2s3 ad3s3


czy może

Kod:
zpool create basefs mirror ad0s3 ad1s3 mirror ad2s3 ad3s3

ale to raczej utworzy mi dwa mirrory


Góra
 WWW  Zobacz profil
Post Napisane: środa, 17 marca 2010, 11:32
 
Offline
Guru
Avatar użytkownika

Dołączył(a): środa, 31 maja 2006, 01:26
Posty: 3378
Lokalizacja: pl_PL.lodz
To drugie:
Kod:
zpool create basefs mirror ad0s3 ad1s3 mirror ad2s3 ad3s3


To zrobi RAID0 z dwoch mirrorow (RAID1) czyli RAID10 ;)

_________________
religions, worst damnation of mankind
vermaden's: links deviantart daemonforums


Góra
 WWW  Zobacz profil
Post Napisane: środa, 17 marca 2010, 12:12
 
Offline
Pomocnik Murarza
Avatar użytkownika

Dołączył(a): sobota, 15 kwietnia 2006, 21:42
Posty: 663
Lokalizacja: Wrocław
i tak właśnie zrobiłem i jest ok
dzięki za pięknego helpa teraz mój nowy serwerek będzie śmigał aż miło :)

Kod:
% zpool status
  pool: basefs
 state: ONLINE
 scrub: none requested
config:

   NAME        STATE     READ WRITE CKSUM
   basefs      ONLINE       0     0     0
     mirror    ONLINE       0     0     0
       ad4s3   ONLINE       0     0     0
       ad6s3   ONLINE       0     0     0
     mirror    ONLINE       0     0     0
       ad8s3   ONLINE       0     0     0
       ad10s3  ONLINE       0     0     0

errors: No known data errors


Kod:
% zfs get -r compressratio basefs
NAME                   PROPERTY       VALUE                  SOURCE
basefs                 compressratio  1.00x                  -
basefs/usr             compressratio  1.00x                  -
basefs/usr/home        compressratio  1.00x                  -
basefs/usr/local       compressratio  1.00x                  -
basefs/usr/ports       compressratio  1.00x                  -
basefs/usr/src         compressratio  1.00x                  -
basefs/var             compressratio  1.00x                  -
basefs/var/data        compressratio  1.00x                  -
basefs/var/data/ftp    compressratio  1.00x                  -
basefs/var/data/mail   compressratio  1.00x                  -
basefs/var/data/mysql  compressratio  1.00x                  -
basefs/var/data/www    compressratio  1.00x                  -


maciek


Góra
 WWW  Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 63 ]  Przejdź na stronę 1, 2, 3, 4, 5  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Skocz do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group  
Design By Poker Bandits  
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL


Datanet.pl - stabilny hosting BSDGuru.org