рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ - рдХрд┐рд░рд╛рдП рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░ рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ FreeBSD рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдбрд┐рд╕реНрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЕрдВрддрд░рд┐рдХреНрд╖ рдкреНрд░рдмрдВрдзрди, рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░ рдФрд░ рдкреВрд░реНрдг VMs, рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд╣рдЬ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ - рдпрд╣ рд╕рдм рд╣реИ рдФрд░ рди рдХреЗрд╡рд▓ рдпрд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред
рд╕реНрдерд╛рдкрдирд╛
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкрд░рд┐рджреГрд╢реНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓реЛрд╣реЗ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдпрд╛ рдпрд╣ рдХрд╣реАрдВ рдмрд╛рд╣рд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рд╕реАрдбреА-рд░реЛрдо рдкрд░ .iso (рдпрд╛ .img) рдлрд╝реАрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ IPMI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рдЗрд╕рд╕реЗ рднреА рд╕рд░рд▓ - рд╣реЛрд╕реНрдЯрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╕реАрдзреЗ mfsbsd рдЫрд╡рд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, mfsbsd рд╕реЗ рдмреВрдЯ рдХрд░реЗрдВред
рд▓рд┐рдирдХреНрд╕ рдмрдЪрд╛рд╡ рд╕реАрдбреА
рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣реЛрд╕реНрдЯрд░ рдХрд┐рд╕реА рднреА рд░реВрдк рдореЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рд┐рдирдХреНрд╕ рд░реЗрд╕реНрдХреНрдпреВ рдХрд░рддрд╛ рд╣реИред рд╣рдо рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВ, mfsbsd рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╣рд╛рд░реНрдб рдкрд░ рд░реЛрд▓ рдХрд░рддреЗ рд╣реИрдВ:
root@rescue:~# wget https://mfsbsd.vx.sk/files/images/12/amd64/mfsbsd-12.1-RELEASE-amd64.img
root@rescue:~# dd if=mfsbsd-12.1-RELEASE-amd64.img of=/dev/sda bs=4M 22+1 records in 22+1 records out 92307456 bytes (92 MB) copied, 0.386325 s, 239 MB/s
root@rescue:~# reboot
рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреЗрдкреНрдЯрд░ рд╕реЗрдЯрдЕрдк
рдЬрдм рд╣рдо рдЖрдИрдкреАрдПрдордЖрдИ / рд╡реАрдПрдирд╕реА / рд╡реЗрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпрд╛ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдРрд╕реА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рд╕рдВрднрд╡ рд╣реИ? рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯ рдХреА рдЧрдИ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ mfsbsd рдЫрд╡рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдПрдбрд╛рдкреНрдЯрд░ рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рдбреЗрдореЙрди рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЫрд╡рд┐ рдПрдХрддреНрд░ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ FreeBSD рд╣реЛрд╕реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдореВрд▓ .iso рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
root@ns312777:~ # fetch https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-dvd1.iso
рдкрд░реНрд╡рдд
root@ns312777:~ # mount -t cd9660 /dev/
mdconfig -f FreeBSD-12.0-RELEASE-amd64-dvd1.iso /root/cd-rom
Mfsbsd рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
root@ns312777:~ # fetch https://github.com/mmatuska/mfsbsd/archive/master.zip
root@ns312777:~ # unzip master.zip && cd mfsbsd-master
рд╣рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред IP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдмрд╕ conf/rc.conf
рд╕реЗ conf/rc.conf.sample
рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓реЗрдВред рдЖрдкрдХреЛ conf/authorized_keys
рднреА рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдкрдиреА рдХреБрдВрдЬреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред
root@ns312777:~/mfsbsd-master # ls -la conf/
total 55 drwxr-xr-x 2 root wheel 13 Dec 8 10:06 . drwxr-xr-x 7 root wheel 13 Dec 8 10:11 .. -rw-r--r-- 1 root wheel 451 Dec 8 10:06 authorized_keys -rw-r--r-- 1 root wheel 50 Nov 30 22:54 authorized_keys.sample -rw-r--r-- 1 root wheel 3 Nov 30 22:54 boot.config.sample -rw-r--r-- 1 root wheel 156 Nov 30 22:54 hosts.sample -rw-r--r-- 1 root wheel 592 Nov 30 22:54 interfaces.conf.sample -rw-r--r-- 1 root wheel 1310 Nov 30 22:54 loader.conf.sample -rw-r--r-- 1 root wheel 739 Dec 8 10:06 rc.conf -rw-r--r-- 1 root wheel 689 Nov 30 22:54 rc.conf.sample -rw-r--r-- 1 root wheel 40 Nov 30 22:54 rc.local.sample -rw-r--r-- 1 root wheel 108 Nov 30 22:54 resolv.conf.sample -rw-r--r-- 1 root wheel 898 Nov 30 22:54 ttys.sample
рдЕрдЪреНрдЫрд╛, рдЪрд▓рд┐рдП!
root@ns312777:~/mfsbsd-master # make BASE=/root/cd-rom/usr/freebsd-dist
Extracting base and kernel ... done Removing selected files from distribution ... done Installing configuration scripts and files ... done Generating SSH host keys ... done Configuring boot environment ...x ./ x ./linker.hints x ./kernel done Installing pkgng ... done Compressing usr ... done Creating and compressing mfsroot ... done Creating image file ...87072+0 records in 87072+0 records out 89161728 bytes transferred in 0.905906 secs (98422727 bytes/sec) 87040+0 records in 87040+0 records out 89128960 bytes transferred in 0.877165 secs (101610229 bytes/sec) md3 created md3p1 added partcode written to md3p1 bootcode written to md3 md3p2 added Calculated size of `./mfsbsd-12.0-RELEASE-p10-amd64.img.a47DUe1j': 80281600 bytes, 65 inodes Extent size set to 32768 ./mfsbsd-12.0-RELEASE-p10-amd64.img.a47DUe1j: 76.6MB (156800 sectors) block size 32768, fragment size 4096 using 1 cylinder groups of 76.56MB, 2450 blks, 256 inodes. super-block backups (for fsck -b #) at: 64, Populating `./mfsbsd-12.0-RELEASE-p10-amd64.img.a47DUe1j' Image `./mfsbsd-12.0-RELEASE-p10-amd64.img.a47DUe1j' complete 612+1 records in 612+1 records out 80281600 bytes transferred in 36.018812 secs (2228880 bytes/sec) done
рдХреНрдпреЛрдВ mfsbsd?
рдпрд╣ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдУрдПрд╕ рдХреА рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдЕрд╕реЗрдВрдмрд▓реА рд╣реИ рдЬрд┐рд╕реЗ рд╕реАрдзреЗ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рд╕рднреА рдЙрдкрд▓рдмреНрдз рдореАрдбрд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рд░реЗрд╕реНрдХреНрдпреВ рд╕реАрдбреА рдЬреИрд╕рд╛ рдХреБрдЫред рдЗрд╕ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рдкреВрд░рд╛ рдЖрдХрд░реНрд╖рдг рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдХрдорд╛рдВрдб рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд▓рд┐рдирдХреНрд╕ рдмрдЪрд╛рд╡ рд╕реАрдбреА рдпрд╛ .iso / .img рд╕реЗ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо mfsbsd рд╢реЗрд▓ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред
root@mfsbsd:~ # cd bin/
рд╣рдо рдбрд┐рд╕реНрдХ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ
root@mfsbsd:~/bin # gpart destroy -F /dev/ada0 root@mfsbsd:~/bin # gpart destroy -F /dev/ada1
рдпрд╛
root@mfsbsd:~/bin # ./destroygeom -d /dev/ada0 -d /dev/ada1
Destroying geom ada0: Deleting partition 1 ... done Deleting partition 2 ... done Destroying geom ada1: Deleting partition 1 ... done Deleting partition 2 ... done
рдлрд┐рд░ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
root@mfsbsd:~/bin # ./zfsinstall Usage: ./zfsinstall [-h] -d geom_provider [-d geom_provider ...] [ -u dist_url ] [-r mirror|raidz] [-m mount_point] [-p zfs_pool_name] [-s swap_partition_size] [-z zfs_partition_size] [-c] [-C] [-l] [-4] [-A]
рдХреНрдпреЛрдВрдХрд┐ 3 рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рдореЗрдЬрдмрд╛рдиреЛрдВ рдкрд░, рдореИрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдкрд░ рд╕рднреА рдбрд┐рд╕реНрдХ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рджрд░реНрдкрдг рдореЗрдВ рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред ZFS рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╢реЗрд╖ рд╕реНрдерд╛рди рдХреЛ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХред рдпрд╣рд╛рдВ рд╡рд╣ рдПрдХ рдФрд░ рдПрдХрдорд╛рддреНрд░ рдЯреАрдо рд╣реИ рдЬреЛ рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреА рд╣реИред
root@mfsbsd:~/bin # ./zfsinstall -d /dev/ada0 -d /dev/ada1 -d /dev/ada2 -r mirror -p zsys -z 25G
рджрд░реНрдкрдг рдореЗрдВ рддреАрди рдбрд┐рд╕реНрдХ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Fetching base files from: ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.0-RELEASE /tmp/base.txz 147 MB 3670 kBps 41s /tmp/kernel.txz 39 MB 2344 kBps 18s Creating GUID partitions on ada0 ... done Configuring ZFS bootcode on ada0 ... done => 40 937703008 ada0 GPT (447G) 40 472 1 freebsd-boot (236K) 512 52428800 2 freebsd-zfs (25G) 52429312 885273736 - free - (422G) Creating GUID partitions on ada1 ... done Configuring ZFS bootcode on ada1 ... done => 40 937703008 ada1 GPT (447G) 40 472 1 freebsd-boot (236K) 512 52428800 2 freebsd-zfs (25G) 52429312 885273736 - free - (422G) Creating GUID partitions on ada2 ... done Configuring ZFS bootcode on ada2 ... done => 40 937703008 ada2 GPT (447G) 40 472 1 freebsd-boot (236K) 512 52428800 2 freebsd-zfs (25G) 52429312 885273736 - free - (422G) Creating ZFS pool zsys on ada0p2 ada1p2 ada2p2 ... done Creating zsys root partition: ... done Creating zsys partitions: var tmp ... done Setting bootfs for zsys to zsys/root ... done NAME USED AVAIL REFER MOUNTPOINT zsys 712K 23.7G 88K none zsys/root 264K 23.7G 88K /mnt zsys/root/tmp 88K 23.7G 88K /mnt/tmp zsys/root/var 88K 23.7G 88K /mnt/var Extracting FreeBSD distribution ... done Writing /boot/loader.conf... done Writing /etc/fstab...Writing /etc/rc.conf... done Copying /boot/zfs/zpool.cache ... done Installation complete. The system will boot from ZFS with clean install on next reboot You may make adjustments to the installed system using chroot: chroot /mnt Some adjustments may require a mounted devfs: mount -t devfs devfs /mnt/dev WARNING - Don't export ZFS pool "zsys"!
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╕реНрдерд╛рдкрд┐рдд рдУрдПрд╕ рдХреА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА /mnt/
рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд░рд┐рдмреВрдЯ рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░рддреЗ рд╣реИрдВ:
рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ mfsbsd рдЫрд╡рд┐ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЬреЛрдбрд╝реЗ рдЧрдП рдХреБрдВрдЬреА рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ
root@mfsbsd:~/bin # mkdir /mnt/root/.ssh && cp /root/.ssh/authorized_keys /mnt/root/.ssh/
рд╣рдо SSH рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд░реНрдЯ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рд▓реЙрдЧрд┐рди рд░реВрдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ )
root@mfsbsd:~/bin # ee /mnt/etc/ssh/sshd_config
рд╕рд┐рд╕реНрдЯрдо рдмреВрдЯрд▓реЛрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
root@mfsbsd:~/bin # ee /mnt/etc/rc.conf
zfs_enable="YES" sshd_enable="YES" hostname="hyper.bitbsd.org" # # You need a gateway defined for a working network setup defaultrouter="37.79.8.254" ifconfig_em0="inet 37.79.8.111 netmask 255.255.255.0"
рдЕрдкрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреЗрдкреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
ifconfig_DEFAULT="DHCP"
/etc/rc.conf
рд╣рдо рдбреАрдПрдирдПрд╕ рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ
root@mfsbsd:~/bin # ee /mnt/etc/resolv.conf
nameserver 8.8.8.8
рдЦреИрд░, рдЖрдк рдЖрдо рддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
root@mfsbsd:~ # chroot /mnt
рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рддрд╛рдЬрд╝рд╛ рд╕реНрдерд╛рдкрд┐рдд рдУрдПрд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВред
рдЦреИрд░, рд╣рдо рдкрд░ рдЪрд▓реЗ рдЧрдП
root@mfsbsd:~ # reboot
рдЕрдзрд┐рдХ рд▓рд╛рд▓ рдЖрдВрдЦреЛрдВ рд╡рд╛рд▓рд╛
рд╕реНрдерд╛рдкрд┐рдд рдУрдПрд╕ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рджреЛ рдФрд░ рддрд░реАрдХреЗ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ mfsbsdред
рдорд╛рдирдХ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдЗрдВрд╕реНрдЯреЙрд▓рд░:

рдПрдХ рд▓рд╛рдЗрд╡ рд╕реАрдбреА рдЪреБрдирдирд╛
рдореЗрдореЛрд░реА-рдбрд┐рд╕реНрдХ рдмрдирд╛рдПрдВ
# mdconfig -a -t swap -s 2g -u 9 # newfs -U md9 # mount /dev/md9 /tmp # cd /tmp
Mfsbsd рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдбрд┐рд╕реНрдХ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, mfsbsd рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди /tmp/
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рдЦрд╛рд▓реА рд╕реНрдерд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
# fetch https://github.com/mmatuska/mfsbsd/archive/master.zip
# unzip master.zip && cd mfsbsd-master/tools
рдЦреИрд░, рдлрд┐рд░ рд╡рд╣реА рдмрд╛рдд - / ./destroygeom
рдФрд░ ./zfsinstall
рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд▓рд┐рдирдХреНрд╕ рдЫрд╡рд┐ рд╕реЗ рдЕрдзрд┐рд╖реНрдард╛рдкрди:
рдпрджрд┐ рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рд▓рд┐рдирдХреНрд╕ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣рдо GRUB рдмреВрдЯрд▓реЛрдбрд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдХрд░ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ "рдЗрдВрд╕реНрдЯреЙрд▓" рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореМрдЬреВрджрд╛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ grub.cfg рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
menuentry "mfsbsd-10.0-RELEASE-amd64.iso" { # Path to the iso set isofile=/boot/boot-isos/mfsbsd-12.0-RELEASE-amd64.iso # (hd0,1) here may need to be adjusted of course depending where the partition is loopback loop (hd0,1)$isofile kfreebsd (loop)/boot/kernel/kernel.gz -v # kfreebsd_loadenv (loop)/boot/device.hints # kfreebsd_module (loop)/boot/kernel/geom_uzip.ko kfreebsd_module (loop)/boot/kernel/ahci.ko kfreebsd_module (loop)/mfsroot.gz type=mfs_root set kFreeBSD.vfs.root.mountfrom="ufs:/dev/md0" set kFreeBSD.mfsbsd.autodhcp="YES" # Define a new root password # set kFreeBSD.mfsbsd.rootpw="foobar" # Alternatively define hashed root password # set kFreeBSD.mfsbsd.rootpwhash="" }
рдЦреИрд░, .iso рдХреЗ рдЕрдиреБрд╕рд╛рд░ /boot/boot-isos/
рдореИрдВрдиреЗ рдЦреБрдж рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдИ рдЧрд▓рддреА рдпрд╛ рджреЛрд╖ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
рд╢рд╛рдпрдж рдореИрдВ FreeBSD рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЪрдХрдорд╛ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред
рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
рдареАрдХ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ ... рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреАрдПрдл рдореБрдЦреНрдп рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдЧрд╛, рдореБрдЭреЗ рдЗрд╕рдХреА рд╕рд░рд▓рддрд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкрд╕рдВрдж рд╣реИред рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдо ZFS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд▓рдЪреАрд▓рд╛ рдФрд░ рдХреБрд╢рд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдЬрдм рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдПрдлрдПрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╣рд╛рдЗрдкрд░рд╡рд┐рдЬрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд╣рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрдврд╝реЗ рд╣реБрдП рд╕реНрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рдореИрдВ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред ZFS рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рджреЛ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ 2 рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рдФрд░ 3 рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛, рдХрднреА-рдХрднреА рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреБрдЫ рдкреНрд░рд╛рдЪреАрди рдЙрдкрд▓рдмреНрдз рд╣реИред
freebsd-update -r 12.1-RELEASE upgrade
рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, 12.1 рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реИ
рдбреНрдпреВрд▓ рдбрд┐рд╕реНрдХ рд╕рд░реНрд╡рд░
рд╣рдордиреЗ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реИ:
root@:~ # gpart show /dev/ada0 => 40 5860533088 ada0 GPT (2.7T) 40 472 1 freebsd-boot (236K) 512 8388608 2 freebsd-swap (4.0G) 8389120 167772160 3 freebsd-zfs (80G) 176161280 2097152000 4 freebsd-zfs (1.0T) 2273313280 3587219848 5 freebsd-zfs (1.7T) root@:~ # gpart show /dev/ada1 => 40 5860533088 ada1 GPT (2.7T) 40 472 1 freebsd-boot (236K) 512 8388608 2 freebsd-swap (4.0G) 8389120 167772160 3 freebsd-zfs (80G) 176161280 2097152000 4 freebsd-zfs (1.0T) 2273313280 3587219848 5 freebsd-zfs (1.7T)
root@:~ # zpool status pool: appdata state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM appdata ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada0p4.eli ONLINE 0 0 0 ada1p4.eli ONLINE 0 0 0 errors: No known data errors pool: miscdata state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM miscdata ONLINE 0 0 0 ada0p5.eli ONLINE 0 0 0 ada1p5.eli ONLINE 0 0 0 errors: No known data errors pool: zsys state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zsys ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada0p3 ONLINE 0 0 0 ada1p3 ONLINE 0 0 0 errors: No known data errors
рдЗрд╕ рд╕рдмрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдбрд┐рд╕реНрдХреНрд╕ рдХреЗ рд╕рд╛рде рд▓реЛрд╣реЗ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ, рдпреЗ рджреЛ рдбрд┐рд╕реНрдХреНрд╕ рджреЛрдиреЛрдВ 3TB рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╣реИрдВред рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рдХреБрдЫ "рдЪрд╛рд░реЛрдВ рдУрд░ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП" рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдбреЗрдЯрд╛ рдЦреЛрдиреЗ рдХреЗ рд▓рд┐рдП рджрдпрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдПред рдЫреЛрдЯреА рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ?
root@:~ # zfs list NAME USED AVAIL REFER MOUNTPOINT appdata 75.5K 961G 23K /appdata miscdata 75.5K 3.21T 23K /miscdata zsys 2.02G 75.0G 88K none zsys/root 2.02G 75.0G 1.18G / zsys/root/tmp 88K 75.0G 88K /tmp zsys/root/var 862M 75.0G 862M /var
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдкреАрдбрд╛рдЯрд╛ рдкреВрд▓ (/ рдорд╣рд╛рджреЗрд╡ / рджрд╛рджрд╛ рд╕реЗ рджрд░реНрдкрдг / рдФрд░ рдорд╣рд╛рджреЗрд╡_рдкрд╛ 1 рдк 4. рддреЗрд▓реА рдЕрдиреБрднрд╛рдЧ), рдорд┐рд╕рдХрджрддрд╛ рдкреВрд▓ ("рдзрд╛рд░реА", рдпрд╛рдиреА / рджреЗрд╡рджрд╛ -055.eli рдФрд░ / рдкрд░ рдбреЗрдЯрд╛) dev / ada1p5.eli) рд╕рднреА рдмрдХрд╡рд╛рд╕ рдХреЗ рд▓рд┐рдПред рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкреВрд▓ рдФрд░ рд╕реНрд╡реИрдк рднреА рд╣реИ, рдпреЗ рджреЛрдиреЛрдВ рдбрд┐рд╕реНрдХ рдХреЗ рд╡рд┐рднрд╛рдЬрди рд╕реЗ рджрд░реНрдкрдг рднреА рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 1TB рджрд░реНрдкрдг рд╡рд╛рд▓реА рдЬрдЧрд╣ рдФрд░ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП 3.2TB рд╣реИред
рдпрд╣ рд╕рдм рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ? рдпрд╣ рдЖрд╕рд╛рди рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реА рдбрд┐рд╕реНрдХ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
root@:~ # gpart show /dev/ada0 => 40 5860533088 ada0 GPT (2.7T) 40 472 1 freebsd-boot (236K) 512 8388608 2 freebsd-swap (4.0G) 8389120 167772160 3 freebsd-zfs (80G) 176161280 684371848 free (2.7T)
рд╣рдо рдбрд┐рд╕реНрдХ рдореЗрдВ рдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рджрд░реНрдкрдг рдХрд░реЗрдВрдЧреЗ
root@:~ # gpart add -t freebsd-zfs -s 1000g /dev/ada0
root@:~ # gpart add -t freebsd-zfs -s 1000g /dev/ada1
рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ
root@:~ # gpart add -t freebsd-zfs /dev/ada0
root@:~ # gpart add -t freebsd-zfs /dev/ada1
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ / dev / ada0p4, / dev / ada0p5, / dev / ada1p4, рдФрд░ / dev / ada0p5 рд╡рд┐рднрд╛рдЬрди рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреАрд╕реА рдореЗрдВ рд╣реЛрд╕реНрдЯрд░ рдореЗрдВ рд╕рд░реНрд╡рд░ рддрдХ рднреМрддрд┐рдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред
root@:~ # geli init /dev/ada0p4
root@:~ # geli init /dev/ada0p5
root@:~ # geli init /dev/ada1p4
root@:~ # geli init /dev/ada1p5
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВ, рдлрд┐рд░ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ:
root@:~ # geli attach /dev/ada0p4
root@:~ # geli attach /dev/ada0p5
root@:~ # geli attach /dev/ada1p4
root@:~ # geli attach /dev/ada1p5
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдиреБрднрд╛рдЧ рд╣реИрдВ /рджреЗрд╡ / рд╕рджрд╛0p4.eli, /dev/ada0p5.eli, /dev/ada1p4.eli рдФрд░ /dev/ada0p5.eli, рд╣рдо рдЗрди рдЦрдВрдбреЛрдВ рд╕реЗ рдкреВрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЖрдк рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
root@:~ # cat /root/attach_disks.sh #!/bin/sh geli attach /dev/ada0p4 geli attach /dev/ada0p5 geli attach /dev/ada1p4 geli attach /dev/ada1p5
root@:~ # zpool create appdata mirror /dev/ada0p4.eli /dev/ada1p4.eli
рдФрд░ рдорд┐рд░рд░рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП
root@:~ # zpool create miscdata /dev/ada0p5.eli /dev/ada1p5.eli
рдЦреИрд░, рд╣рдорд╛рд░рд╛ рд╕рд░реНрд╡рд░ рд▓рдбрд╝рд╛рдИ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдкреВрд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝рдХрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреНрд░рд╛рдЗрд╡ред рдФрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣реИрдВ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рдореИрдВ рдереЛрдбрд╝рд╛ рдХрдо рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рддреАрди рдбреНрд░рд╛рдЗрд╡ рд╡рд╛рд▓рд╛ рд╕рд░реНрд╡рд░
рдпрд╣рд╛рдБ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди 450GB SSD рдХреЗ рд╕рд╛рде рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИред рдпрд╣ рд╕рд░реНрд╡рд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдбрд┐рд╕реНрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:
root@:~ # gpart show /dev/ada[0-9]
=> 40 937703008 ada0 GPT (447G) 40 472 1 freebsd-boot (236K) 512 52428800 2 freebsd-zfs (25G) 52429312 885273736 - free - (422G) => 40 937703008 ada1 GPT (447G) 40 472 1 freebsd-boot (236K) 512 52428800 2 freebsd-zfs (25G) 52429312 885273736 - free - (422G) => 40 937703008 ada2 GPT (447G) 40 472 1 freebsd-boot (236K) 512 52428800 2 freebsd-zfs (25G) 52429312 885273736 - free - (422G)
рд╣рдо 420 рдЬреАрдмреА рд╡рд┐рднрд╛рдЬрди рдмрдирд╛рддреЗ рд╣реИрдВ (рдбрд┐рд╕реНрдХ рдХреЗ рдЕрдВрдд рддрдХ рд╣рдо рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рд╕реНрдХ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЗрд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдХрд╛рд░ рдереЛрдбрд╝рд╛ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)
root@hyper:~ # gpart add -t freebsd-zfs -s 420g /dev/ada0 ada0p3 added root@hyper:~ # gpart add -t freebsd-zfs -s 420g /dev/ada1 ada1p3 added root@hyper:~ # gpart add -t freebsd-zfs -s 420g /dev/ada2 ada2p3 added
рд╣рдо рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВ
root@hyper:~ # geli init /dev/ada0p3 Enter new passphrase: Reenter new passphrase: Metadata backup for provider /dev/ada0p3 can be found in /var/backups/ada0p3.eli and can be restored with the following command: # geli restore /var/backups/ada0p3.eli /dev/ada0p3 root@hyper:~ # geli init /dev/ada1p3 Enter new passphrase: Reenter new passphrase: Metadata backup for provider /dev/ada1p3 can be found in /var/backups/ada1p3.eli and can be restored with the following command: # geli restore /var/backups/ada1p3.eli /dev/ada1p3 root@hyper:~ # geli init /dev/ada2p3 Enter new passphrase: Reenter new passphrase: Metadata backup for provider /dev/ada2p3 can be found in /var/backups/ada2p3.eli and can be restored with the following command: # geli restore /var/backups/ada2p3.eli /dev/ada2p3
рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдмреИрдХрдЕрдк рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рдПрдХ рдлрд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд░реАрд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЦреИрд░, рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдмрд╛рдж рдореЗрдВ рдореИрдВ рдмрджрд▓ рдЧрдпрд╛ рдФрд░ рднреВрд▓ рдЧрдпрд╛ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрд╕ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдбрд┐рд╕реНрдХ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдкреВрд▓ рдмрдирд╛рдПрдВ
root@hyper:~ # geli attach /dev/ada0p3 Enter passphrase: root@hyper:~ # geli attach /dev/ada1p3 Enter passphrase: root@hyper:~ # geli attach /dev/ada2p3 Enter passphrase: root@hyper:~ # zpool create safestore raidz1 /dev/ada0p3.eli /dev/ada1p3.eli /dev/ada2p3.eli
рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рдореЗрдВ 820 рдЬреАрдмреА рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд▓ рдорд┐рд▓рддрд╛ рд╣реИ
root@hyper:~ # zfs list NAME USED AVAIL REFER MOUNTPOINT safestore 89.2K 810G 29.3K /safestore ...
рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЪрд╛рд╣реЗрдВ ZFS рдкреВрд▓ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдбрд┐рд╕реНрдХ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред ZFS рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдПрдХ рдЕрдореВрд░реНрдд рдкрд░рдд рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмреЗрд╣рдж рдЕрджреНрднреБрдд рд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдПрдХ рд╣рд╛рдЗрдкрд░рд╡рд┐рдЬрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕
FreeBSD рдмреЙрдХреНрд╕ рд╕реЗ рджреЛ рдЕрддрд┐рдерд┐ OS рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рдЬреЗрд▓ рдФрд░ рднреАрд╡ред Cbsd рд╣реИ , рдпрд╣ FreeBSD рдЬреЗрд▓, bhyve рдФрд░ XEN рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд╣реИред рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рдореИрдВ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рдирд╣реАрдВ рдЫреВрдКрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЦреБрдж рдХрднреА рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдХреЛрд╢рд┐рдХрд╛рдПрдВ FreeBSD рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХреНрд▓реЛрди рд╣реИрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдгред рдореЗрдЬрдмрд╛рди рдкреНрд░рдгрд╛рд▓реА рдЕрдкрдиреЗ рдиреАрдЪреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░ рд╕рдХрддреА рд╣реИред рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдореЗрдЬрдмрд╛рдиреЛрдВ, рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдордХреНрдЦреА рдкрд░ рднреА рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдиреЗ рдкрд░ рдХреНрд▓реЗрдХреНрдЯрдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдмреНрдпреВрд╡, рдмрджрд▓реЗ рдореЗрдВ, рдПрдХ рдкреВрд░реНрдг рд╣рд╛рдЗрдкрд░рд╡рд┐рдЬрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдЙрдмрдВрдЯреВ рдФрд░ рдбреЙрдХрд░реНрд╕ рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

root@:~ # pkg install cbsd
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, cbsd 35 рдПрдордмреА рдЖрдХрд╛рд░ рдХреА рдХреЗрд╡рд▓ 11 рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИред
New packages to be INSTALLED: cbsd: 12.1.2 sudo: 1.8.28 gettext-runtime: 0.20.1 indexinfo: 0.3.1 libssh2: 1.8.2,3 ca_root_nss: 3.47.1 rsync: 3.1.3_1 libiconv: 1.14_11 pkgconf: 1.6.3,1 libedit: 3.1.20190324,1 sqlite3: 3.29.0 readline: 8.0.0 Number of packages to be installed: 12 The process will require 33 MiB more space. 8 MiB to be downloaded. Proceed with this action? [y/N]: y
рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреВрд▓ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрднрд╛рдЧ рдмрдирд╛рдПрдВ
root@:~ # zfs create miscdata/jails
cbsd рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ
root@:~ # env workdir="/miscdata/jails" /usr/local/cbsd/sudoexec/initenv
mnogabukaf -------[CBSD v.12.1.2]------- This is install/upgrade scripts for CBSD. Don't forget to backup. ----------------------------- Do you want prepare or upgrade hier environment for CBSD now? [yes(1) or no(0)] 1 >>> Installing or upgrading [Stage 1: account & dir hier] * Check hier and permission... ./.rssh missing (created) ./.ssh missing (created) ./.ssh/sockets missing (created) ./basejail missing (created) ./etc missing (created) ./etc/defaults missing (created) ./export missing (created) ./ftmp missing (created) ./import missing (created) ./jails missing (created) ./jails-data missing (created) ./jails-fstab missing (created) ./jails-rcconf missing (created) ./jails-system missing (created) ./share missing (created) ./share/dialog missing (created) ./share/helpers missing (created) ./share/FreeBSD-jail-puppet-skel missing (created) ./share/FreeBSD-jail-skel missing (created) ./share/FreeBSD-jail-vnet-skel missing (created) ./share/emulators missing (created) ./src missing (created) ./tmp missing (created) ./var missing (created) ./var/cron missing (created) ./var/cron/tabs missing (created) ./var/db missing (created) ./var/log missing (created) ./var/mail missing (created) ./var/run missing (created) ./var/spool missing (created) * write directory id: jaildatadir * write directory id: jailsysdir * write directory id: jailrcconfdir * write directory id: dbdir [Stage 2: build tools] Shall i add cbsd user into /usr/local/etc/sudoers.d/cbsd_sudoers sudo file to obtain root privileges for the most cbsd commands? [yes(1) or no(0)] 1 [Stage 3: local settings] Shall i modify the /etc/rc.conf to sets cbsd_workdir="/miscdata/jails"?: [yes(1) or no(0)] 1 /etc/rc.conf: cbsd_workdir: -> /miscdata/jails [Stage 4: update default skel resolv.conf] [Stage 5: refreshing inventory] nodename: CBSD Nodename for this host eg the hostname. Warning: this operation will recreate the ssh keys in /miscdata/jails/.ssh dir: hostname.org Empty inventory database created: /miscdata/jails/var/db/inv.hostname.org.sqlite nodeip: Node management IPv4 or IPv6 address (used for node interconnection), eg: 151.106.27.106 jnameserver: Jails default DNS name-server (for jails resolv.conf), eg: 9.9.9.9,149.112.112.112 8.8.8.8,8.8.4.4 nodeippool: Jail pool IP address range (networks for jails) Hint: use space as delimiter for multiple networks, eg: 10.0.0.0/16 151.106.27.106/24 192.168.0.0/24 nat_enable: Enable NAT for RFC1918 networks? [yes(1) or no(0)] 0 fbsdrepo: Use official FreeBSD repository? When no (0) the repository of CBSD is preferred (useful for stable=1) for fetching base/kernel? [yes(1) or no(0)] 1 zfsfeat: You are running on a ZFS-based system. Enable ZFS feature? [yes(1) or no(0)] 1 parallel: Parallel mode stop/start ? (0 - no parallel or positive value (in seconds) as timeout for next parallel sequence) eg: 5 0 stable: Use STABLE branch instead of RELEASE by default? Attention: only the CBSD repository has a binary base for STABLE branch ? (STABLE_X instead of RELEASE_X_Y branch for base/kernel will be used), eg: 0 (use release) 0 sqlreplica: Enable sqlite3 replication to remote nodes ? (0 - no replica, 1 - try to replicate all local events to remote nodes) eg: 1 0 statsd_bhyve_enable: Configure CBSD statsd services for collect RACCT bhyve statistics? ? (EXPERIMENTAL FEATURE)? eg: 0 0 statsd_jail_enable: Configure CBSD statsd services for collect RACCT jail statistics? ? (EXPERIMENTAL FEATURE)? eg: 0 0 statsd_hoster_enable: Configure CBSD statsd services for collect RACCT hoster statistics? ? (EXPERIMENTAL FEATURE)? eg: 0 0 [Stage 6: authentication keys] Generating public/private rsa key pair. Your identification has been saved in /miscdata/jails/.ssh/8a3574aa0ec0ad3056e7dcf0f48adb01.id_rsa. Your public key has been saved in /miscdata/jails/.ssh/8a3574aa0ec0ad3056e7dcf0f48adb01.id_rsa.pub. The key fingerprint is: SHA256:bZM/lo6lx40vE48MxZea1KQMKYIBq3HyPWQrF0xn980 root@hostname.org The key's randomart image is: +---[RSA 2048]----+ | ..ooo . . | | +.o....oo . | |oo = . ..+E+ . | | * + o . .* + | |. o = S =o + | | o . ..o+. | | +** | | *Oo | | o..+. | +----[SHA256]-----+ [Stage 7: modules] Installing module pkg.d cmd: pkg Installing module bsdconf.d cmd: tzsetup Installing module bsdconf.d cmd: ssh Installing module bsdconf.d cmd: ftp Installing module bsdconf.d cmd: adduser Installing module bsdconf.d cmd: passwd Installing module bsdconf.d cmd: service Installing module bsdconf.d cmd: sysrc Installing module bsdconf.d cmd: userlist Installing module bsdconf.d cmd: grouplist Installing module bsdconf.d cmd: adduser-tui Installing module bsdconf.d cmd: pw Installing module bsdconf.d cmd: cloudinit Installing module zfsinstall.d cmd: zfsinstall [Stage 9: cleanup] * Remove obsolete files... Configure RSYNC services for jail migration? [yes(1) or no(0)] 0 cbsdrsyncd_enable: -> YES Do you want to enable RACCT feature for resource accounting? [yes(1) or no(0)] 0 Shall i modify the /etc/rc.conf to sets cbsdd_enable=YES ? [yes(1) or no(0)] 0 cbsdd_enable: -> NO Shall i modify the /etc/rc.conf to sets rcshutdown_timeout="900"? [yes(1) or no(0)] 0 rcshutdown_timeout: 90 -> 900 [Stage X: upgrading] * Insert default topology into vm_cpu_topology table * Insert small1 group into vmpackage table >>> Done First CBSD initialization complete. Now your can run: service cbsdd start to run CBSD services. For change initenv settings in next time, use: cbsd initenv-tui Also don't forget to execute: cbsd initenv every time when you upgrade CBSD version. preseedinit: Would you like a config for "cbsd init" preseed to be printed? [yes(1) or no(0)] 0
Cbsd рдбреЗрдореЙрди рдЪрд▓рд╛рдПрдВред рд╣рдо рддрдм рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рд╣рдордиреЗ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдСрдЯреЛрд░рди рдореЗрдВ cbsd рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЕрддрд┐рдерд┐ OS рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдЕрдиреБрднрд╛рдЧ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред
root@:~ # service cbsdd onestart
рдЬрдм рд╕рд░реНрд╡рд░ рдмреВрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЗрд╕реАрд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рднрд╛рдЬрди рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдмрд┐рдирд╛ рдХрд┐рд╕реА VNC / IPMI рдкрд╛рд╕рд╡рд░реНрдб рдПрдВрдЯреНрд░реА рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмреВрдЯ рд╣реЛ рдЬрд╛рдП рдФрд░ рд╣рдорд╛рд░реЗ рдбрд┐рд╕реНрдХ рд╡рд┐рднрд╛рдЬрди рдХреЛ ./root/attach_disks.sh
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВред
Cbsd рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╕рдордп, рд╣рдордиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ 192.168.0.0/24 рд╣рдорд╛рд░реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрдиреЗрдЯ рд╣реЛрдЧрд╛ред рдореИрдВ рдкреВрд░реНрдг рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдмрдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рд╣рдо рдореЗрдЬрдмрд╛рди рдкрд░ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдШреБрдорд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдПрдХ рдЖрдЧ рдХреА рджреАрд╡рд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдирдПрдЯреА рдореЗрдЬрдмрд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░реЗред
root@:~ # sysrc pf_enable=YES pf_enable: NO -> YES root@:~ # service pf start /etc/rc.d/pf: WARNING: /etc/pf.conf is not readable.
рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
root@:~ # ee /etc/pf.conf
IF_PUBLIC="igb0" IP_PUBLIC="XXXX" JAIL_IP_POOL="192.168.0.0/24" icmp_types="echoreq" set limit { states 100000, frags 20000, src-nodes 20000 } set skip on lo0 scrub in all #NAT for others nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC ## Jail HTTP/S port forward IP_JAIL="192.168.0.2" PORT_JAIL="{ 80, 443 }" rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL
рдирд┐рдпрдо рд▓реЛрдб рдХрд░реЗрдВ
root@:~ # service pf start Enabling pf. root@:~ # pfctl -f /etc/pf.conf
рдЦреИрд░, рдЕрдм рд╣рдо рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдмрдирд╛рддреЗ рд╣реИрдВ
root@:~ # cbsd jconstruct-tui

рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рднрдВрдбрд╛рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдЪреБрдиреЗрдВ

рдФрд░ root@:~ # cbsd jconstruct-tui
рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рдФрд░ рдХреЛрд╢рд┐рдХрд╛рдПрдВ
рддрдм рд╣рдо рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
root@:~ # cbsd jstart webapp
рдФрд░ рдЕрдВрджрд░ рд╣рдо рд╡рд╣реА рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ
root@:~ # cbsd jlogin webapp
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП nginx рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ webapp:/root@[12:58] # pkg install nginx Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. Updating database digests format: 100% The following 2 package(s) will be affected (of 0 checked): New packages to be INSTALLED: nginx: 1.16.1_4,2 pcre: 8.43_2 Number of packages to be installed: 2 The process will require 8 MiB more space. 2 MiB to be downloaded. Proceed with this action? [y/N]: y [webapp.host.org] [1/2] Fetching nginx-1.16.1_4,2.txz: 100% 442 KiB 452.8kB/s 00:01 [webapp.host.org] [2/2] Fetching pcre-8.43_2.txz: 100% 1 MiB 638.0kB/s 00:02 Checking integrity... done (0 conflicting) [webapp.host.org] [1/2] Installing pcre-8.43_2... [webapp.host.org] [1/2] Extracting pcre-8.43_2: 100% [webapp.host.org] [2/2] Installing nginx-1.16.1_4,2... ===> Creating groups. Using existing group 'www'. ===> Creating users Using existing user 'www'. [webapp.host.org] [2/2] Extracting nginx-1.16.1_4,2: 100% ===== Message from nginx-1.16.1_4,2: -- Recent version of the NGINX introduces dynamic modules support. In FreeBSD ports tree this feature was enabled by default with the DSO knob. Several vendor's and third-party modules have been converted to dynamic modules. Unset the DSO knob builds an NGINX without dynamic modules support. To load a module at runtime, include the new `load_module' directive in the main context, specifying the path to the shared object file for the module, enclosed in quotation marks. When you reload the configuration or restart NGINX, the module is loaded in. It is possible to specify a path relative to the source directory, or a full path, please see https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/ and http://nginx.org/en/docs/ngx_core_module.html#load_module for details. Default path for the NGINX dynamic modules is /usr/local/libexec/nginx. webapp:/root@[12:59] # sysrc nginx_enable=YES nginx_enable: -> YES webapp:/root@[12:59] # service nginx start Performing sanity check on nginx configuration: nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful Starting nginx. webapp:/root@[DING!] # sockstat -l4 USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS www nginx 27982 6 tcp4 192.168.0.2:80 *:* root nginx 27981 6 tcp4 192.168.0.2:80 *:* root sendmail 25361 4 tcp4 192.168.0.2:25 *:* webapp:/root@[13:00] #
рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрд╢рд┐рдХрд╛ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
root@:~ # jls JID IP Address Hostname Path 1 192.168.0.1 tor.host.org /miscdata/jails/jails/tor 2 192.168.0.2 webapp.host.org /miscdata/jails/jails/webapp 3 192.168.0.3 bitcoind.host.org /miscdata/jails/jails/bitcoind 4 192.168.0.4 ethd.host.org /miscdata/jails/jails/ethd
webapp nginx
, /etc/pf.conf
. .
/etc/rc.conf
ifconfig_igb0_alias="inet 192.168.0.1 netmask 255.255.255.0" gateway_enable="YES"
root@hyper:~ # echo 'vmm_load="YES"' >> /boot/loader.conf root@hyper:~ # echo 'kld_list="vmm if_tap if_bridge nmdm"' >> /etc/rc.conf root@hyper:~ # reboot
, .
/etc/pf.confIF_PUBLIC="igb0"
IP_PUBLIC="YYYY"
JAIL_IP_POOL="192.168.0.0/24"
icmp_types="echoreq"
set limit { states 100000, frags 20000, src-nodes 20000 }
set skip on lo0
scrub in all
NAT for others
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC
Jail HTTP/S port forward
IP_JAIL="192.168.0.2"
PORT_JAIL="{ 80, 443 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL
root@hyper:~ # sysrc pf_enable=YES pf_enable: NO -> YES root@hyper:~ # service pf start Enabling pf.
,
root@hyper:~ # cbsd bconstruct-tui

VNC 5900, SSH
ssh hyperhost -L 5900:localhost:5900

. IP - 192.168.0.100.
/etc/pf.conf
SSH
## VM SSH port forward IP_VM="192.168.0.100" PORT_VM="{ 22100 }" rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_VM -> $IP_VM port 22
. , .
root@hyper:~ # zfs list NAME USED AVAIL REFER MOUNTPOINT safestore 5.89G 804G 29.3K /safestore safestore/jails 5.89G 804G 4.46G /safestore/jails safestore/jails/debian 920M 804G 208K /safestore/jails/vm/debian safestore/jails/debian/dsk1.vhd 919M 804G 919M - safestore/jails/linuxjail 329M 804G 329M /safestore/jails/jails-data/linuxjail-data safestore/jails/nginx 89.2M 804G 89.2M /safestore/jails/jails-data/nginx-data safestore/jails/tor 117M 804G 117M /safestore/jails/jails-data/tor-data zsystem 1.85G 21.9G 88K none zsystem/root 1.85G 21.9G 1.20G / zsystem/root/tmp 120K 21.9G 120K /tmp zsystem/root/var 662M 21.9G 662M /var
root@hyper:~ # zfs snap safestore/jails/debian/dsk1.vhd@fresh
. .
тАФ Ansible
3, 1300 . .
/etc/ansible/hosts [hyper-debian-group] hyper-debian [hyper-group] hyper [hyper-group:vars] ansible_python_interpreter=/usr/local/bin/python3.7
~/.ssh/config Host hyper Hostname YYYY User root Port 33696 Host hyper-debian Hostname YYYY User root Port 22100
~/deploy-docker.yml - hosts: hyper-debian gather_facts: no tasks: - name: Install a list of misc packages apt: update_cache: yes pkg: - apt-transport-https - ca-certificates - curl - gnupg2 - software-properties-common - name: Add Docker repo shell: curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - - name: Add Docker repo shell: apt-key fingerprint 0EBFCD88 - name: Do some linux repo magic shell: add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" - name: Install Docker CE suite & composer apt: update_cache: yes pkg: - docker-ce - docker-ce-cli - containerd.io - docker-compose - name: Update all packages to the latest version apt: upgrade: dist
~/rollback-debian.yml - hosts: hyper gather_facts: no tasks: - name: stop debian shell: cbsd bstop debian - name: list ZFS datasets shell: zfs list | grep debian register: zfslist - debug: var=zfslist.stdout_lines - name: rollback debian shell: zfs rollback safestore/jails/debian/dsk1.vhd@fresh - name: list ZFS datasets shell: zfs list | grep debian register: zfslist - debug: var=zfslist.stdout_lines - name: start debian shell: cbsd bstart debian
, TerraForm
[user@localhost ~]$ ansible-playbook deploy-docker.yml PLAY [hyper-debian] ******************************************************************************************************* TASK [Install a list of misc packages] ********************************************************************************************* changed: [hyper-debian] TASK [Add Docker repo] ******************************************************************************************************** changed: [hyper-debian] TASK [Add Docker repo] ******************************************************************************************************** changed: [hyper-debian] TASK [Do some linux repo magic] ********************************************************************************************************changed: [hyper-debian] TASK [Install Docker CE suite & composer] ********************************************************************************************************changed: [hyper-debian] TASK [Update all packages to the latest version] ********************************************************************************************************ok: [hyper-debian] PLAY RECAP ********************************************************************************************************hyper-debian : ok=6 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
, iRedMail.
docker run --privileged -p 80:80 -p 443:443 \ -e "DOMAIN=example.com" -e "HOSTNAME=mail" \ -e "MYSQL_ROOT_PASSWORD=password" \ -e "SOGO_WORKERS=1" \ -e "TIMEZONE=Europe/Prague" \ -e "POSTMASTER_PASSWORD=password" \ -e "IREDAPD_PLUGINS=['reject_null_sender', 'reject_sender_login_mismatch', 'greylisting', 'throttle', 'amavisd_wblist', 'sql_alias_access_policy']" \ -v PATH/mysql:/var/lib/mysql \ -v PATH/vmail:/var/vmail \ -v PATH/clamav:/var/lib/clamav \ --name=iredmail lejmr/iredmail:mysql-latest
? - Debian.
[user@localhost ~]$ ansible-playbook rollback-debian.yml PLAY [hyper] ******************************************************************************************************** TASK [stop debian] ********************************************************************************************************changed: [hyper] TASK [list ZFS datasets] ********************************************************************************************************changed: [hyper] TASK [debug] ********************************************************************************************************ok: [hyper] => { "zfslist.stdout_lines": [ "safestore/jails/debian 2.65G 803G 206K /safestore/jails/vm/debian", "safestore/jails/debian/dsk1.vhd 2.65G 803G 2.34G -" ] } TASK [rollback debian] ********************************************************************************************************changed: [hyper] TASK [list ZFS datasets] ********************************************************************************************************changed: [hyper] TASK [debug] ********************************************************************************************************ok: [hyper] => { "zfslist.stdout_lines": [ "safestore/jails/debian 920M 804G 206K /safestore/jails/vm/debian", "safestore/jails/debian/dsk1.vhd 919M 804G 919M -" ] } TASK [start debian] ********************************************************************************************************changed: [hyper] PLAY RECAP ********************************************************************************************************hyper : ok=7 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
, .
, , 1baysxTdXkwZnBosDdL1veb2zWDo6DC5b
!