Minggu, 07 Oktober 2012
Riwayat Versi freebsd zfs mirror raidz maupun non = tutorial step by step
Zfs hemm.. lumayan bingung ngejelasin nya ya... coba googling aja yach..
artikle ini aku tulis sesuai dengan pemahaman ku...
di zfs dikenal dengan istilah tank.. atau tandon...
kelebihane buanyak banget.. salah satu keunggulan nya jika listrik mati / padam maka jarang bermasalah untuk sebuah mesin proxy.. CMiiw yach.. karena aku belum pernah compare.
di Zfs di kenal dengan system Tank..
dalam sebuah pc kita bisa memiliki banyak tank.. atau pun dengan 1 tank dengan banyak HDD..
SSD adalah HDD tercepat menurut beberapa sumber. tapi kita akan di pusingkan dengan harganya... yang cukup bisa di bilang mahal banget..
kita ngakalin nya dengan system mirror atau raid... dan di zfs kita akan di permudah dalam penempatannya...
contoh penerapan...
kita ingin membangun sebuah mesin proxy. tapi membutuhkan kecepatan baca tulis. dimana kita ingin menerapkan Raid. tapi kita kesulitan dalam penerapannya. dikarenakan kita belum tahu. dan gak ada yang pernah share dalam versi yang mudah di pahami....
2 hdd kita raid maka akan di namakan mirror......
3 hdd kita raid maka akan di namakan raid.
contoh.......... ilustrasi kita menggunakan 2 HDD dengan beda kecepatan.
a. HD 250Gb
b. HD 500Gb
jika kita raid maka akan terbaca cuma 250Gb di zfs. dan di zfs maka akan di namakan mode mirror
kecepatan baca tulis akan naik signifikan.
contoh.......... ilustrasi kita menggunakan 3 HDD dengan beda kecepatan.
a. HD 250GB.
b. HD 500GB.
c. HD 1000Gb.
jika kita raid akan terbaca tetep 250Gb di zfs. karena menggunakan lebih dari 2 hdd.. maka modenya Raid.
kesimpulan nya... untuk mode Raid untuk kejar kecepatan. gunakan ukuran yang sama. karena jika gak sama HDD nya maka akan dianggap sampah oleh system Raid tersebut.
okey langsung praktek aja ya... kita download source nya yach..... dan burn ke cd.
#32bit support di bawah 4GB
http://mfsbsd.vx.sk/files/iso/mfsbsd-se-9.0-RELEASE-i386.iso
#64bit support 4GB lebih
http://mfsbsd.vx.sk/files/iso/mfsbsd-se-9.0-RELEASE-amd64.iso
=============================
di sisi Mikrotik
rename dulu interface yang mau kita gunakan untuk proxy dengan nama ==>
interface : proxy
ip mikrotik :192.168.168.253
ip proxy :192.168.168.254 maka gateway ntar ke 192.168.168.253
===============================================
setting mikrotik
===============================================
/ip address
add address=192.168.168.253/24 comment=Proxy disabled=no interface=proxy network=192.168.168.0
/ip pool
add name=Proxy ranges=192.168.168.254
/ip dhcp-server
add add-arp=yes address-pool=Proxy authoritative=after-2sec-delay bootp-support=static disabled=no interface=proxy lease-time=3d name=Server
/ip dhcp-server network
add address=192.168.168.0/24 comment="Proxy card onboard" dhcp-option="" dns-server="" gateway=192.168.168.253 ntp-server="" wins-server=""
===============================================
disini asumsi dial mikrotik dengan ppoe dengan nama default dial nya ==> pppoe-out1
#jika mau di remote dari luar saran ku port diganti ya.. dari 22 ke 2222
/ip firewall nat
add action=dst-nat chain=dstnat comment="Remot SSH" disabled=no dst-port=2222 in-interface=pppoe-out1 protocol=tcp to-addresses=192.168.168.254 to-ports=22
#jika ada yang berusaha masuk ke port 22 maka akan kita masukkan ke koleksi ip orang yang mau masuk...
/ip firewall nat
add action=add-src-to-address-list address-list=LOG_SSH address-list-timeout=1d chain=dstnat disabled=no dst-port=22 in-interface=pppoe-out1 protocol=tcp
jika kita setting seperti diatas.. maka jika kita colokin suatu perangkat maka... otomatis akan dapet ip dari mikrotik 192.168.168.254.......
===============================================
#proses instalasi... booting dari CD
udah di download yach.. dan udah di burn...
jika udah.. masukin cd nya.. set booting ke arah cd room yach... otomatis dia akan booting dan dapet ip dari mikrotik dengan ip yang kita tentukan yaitu 192.168.168.254.
download putty dan winscp. dan kita bisa login ke server kita dengan pc lain. (dengan asumsi udah paham itu putty dan winscp)
# local 192.168.168.254 port 22 user root dan password mfsroot.
# luar jaringan maka... ip publik port 2222 user root pass mfsroot
===============================================
udah kebuka kan di putty... kita butuh informasi penting 3 opsi.. yaitu HDD cdroom dan interface card.
caranya:
yoyoxnet# dmesg
ada0: <ST3250318AS CC38> ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad10
ada1 at ata4 bus 0 scbus4 target 0 lun 0
ada1: <ST2000DL003-9VT166 CC32> ATA-8 SATA 3.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada1: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada1: Previously was known as ad12
cd0 at ata6 bus 0 scbus6 target 0 lun 0
cd0: <ATAPI iHAS122 8 3L04> Removable CD-ROM SCSI-0 device
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
===============================================
hasil diatas hasil capture hardware kita..... dan menentukan dalam pembuatan script nya... karena kita menggunakan auto yach..
data data yang kita dapet....
ada0 <=== HDD pertama 250GB
ada1 <=== HDD kedua 2TB
cd0 <=== CD ROOM
===============================================
untuk versi reges bisa mauk kesini....
http://reges007.wordpress.com/2011/03/27/install-file-system-zfs-di-freebsd/
===============================================
disini kita gunakan versi saya sendiri....
jalan kan perintah seperti ini.....
yoyoxnet# gpart show
=> 34 488397101 ada0 GPT (232G)
34 128 1 freebsd-boot (64k)
162 67108864 2 freebsd-swap (32G)
67109026 421288109 3 freebsd-zfs (200G)
=> 34 3907029101 ada1 GPT (1.8T)
34 6 - free - (3.0k)
40 3907029088 1 freebsd-zfs (1.8T)
3907029128 7 - free - (3.5k)
dan kita harus hancurkan seluruh isi hdd tersebut
ada0 <=== HDD pertama 250GB
ada1 <=== HDD kedua 2TB
gunakan script ya... tinggal sesuai kan arah nya aja.. :)
untuk hdd petama
yoyoxnet# dd if=/dev/zero of=/dev/ada0 bs=1m count=1
untuk hdd kedua
yoyoxnet# dd if=/dev/zero of=/dev/ada1 bs=1m count=1
===============================================
Auto install menggunakan zfs install
masuk ke cdroom
cd0 <=== CD ROOM
yoyoxnet# mount_cd9660 /dev/cd0 /media
lihat isinya ya..... karena aku menggunakan versi 64 bit maka akan muncul seperti ini
yoyoxnet# ls /media
9.0-RELEASE-amd64.tar.xz
===============================================
Proses instalasi HDD
===============================================
===============================================
#jika menggunakan 1 harddisk maka script nya seperti ini ===> 4G (2x memory internal)
ada0 <=== HDD pertama 250GB
yoyoxnet# zfsinstall -d ada0 -t /media/9.0-RELEASE-amd64.tar.xz -s 4G
dan jangan lupa jalan kan script ini untuk keluar dari cd room
yoyoxnet# chroot /mnt
===============================================
#mode mirro raid untuk mencapai maksimum baca tulis recomended 2hdd. jika lebih kenaikan nya cuma 20% berdasarkan hasil googling
#jika menggunakan 2 harddisk maka script nya seperti ini ===> 4G (2x memory internal)
ada0 <=== HDD pertama 250GB
ada1 <=== HDD kedua 2TB
#2hdd mode mirror
yoyoxnet# zfsinstall -d ada0 -d ada1 -t /media/9.0-RELEASE-amd64.tar.xz -r mirror -p tank01 -s 4G
#3hdd mode Raidz
yoyoxnet# zfsinstall -d ada0 -d ada1 -d ada3 -t /media/9.0-RELEASE-amd64.tar.xz -r mirror -p tank01 -s 4G
dan jangan lupa jalan kan script ini untuk keluar dari cd room
yoyoxnet# chroot /mnt
============================
format script
zfsinstall [-h] -d geom_provider [-d geom_provider ...] -t archive_file [-r mirror|raidz] [-m mount_point] [-p zfs_pool_name] [-V zfs_pool_version] [-s swap_partition_size] [-z zfs_partition_size] [-c] [-l] [-4]
============================
jika menggunakan lebih dari dari satu hdd tapi tidak mau mode Mirror atau mode raidz... maka kita harus membuat 2 hdd harus bebeda tank... HDD pertama akan kita kasih nama tank01 dan hdd ke 2 dikasih nama tank02 dalam kasus ini hasil uji coba ku berhasil dengan cara kita kerjakan HDD pertama baru kerjakan HDD ke 2.
disini target nya adalan sebesar 2.250TB
ada0 <=== HDD pertama 250GB #dikerjakan dulu
ada1 <=== HDD kedua 2TB #dikerjakan belakangan atau terakhir setelah reboot.
yoyoxnet# zfsinstall -d ada0 -t /media/9.0-RELEASE-amd64.tar.xz -s 4G
dan jangan lupa jalan kan script ini untuk keluar dari cd room
yoyoxnet# chroot /mnt
============================
setting yang penting penting..
jagan lupa ya keluar dari cd room dulu.. kebiasaan lupa wkwkwkw...
yoyoxnet# chroot /mnt
kita gunakan mode menu aja ya... biar agak mudah..
yoyoxnet# sysinstall
maka keluar menu... ==>Configure
==>Configure ==> root password ==> isi password nya ketik 2x
==>Configure ==> Time ZOne ==> sesuaikan dengan daerah kalian
==>Configure ==> interface ==> IPV6 NO. ==> DHCP YES
==>Configure ==> NTPDATE ==> pilih asia ya...
==>Configure ==> SSHD ==> pastikan tercentang
setelah selesai monggo keluar dari menu dengan memilih cancel.... :)
####edit pada bagian ini... dan masukkan PermitRootLogin yes caranya..
yoyoxnet# ee /etc/ssh/sshd_config
PermitRootLogin yes
####simpan esc + a + a
reboot pc kamu... pastikan booting nya arah ke HDD pertama. :)
============================
============================
jika udah selesai dan disimpan.. selesai dach.... buat yang mau add HDD baru non mirro atau raidz.... proses instalasi belum selesai yach...
============================
============================
Instalasi di HDD ke dua
ada0 <=== HDD pertama 250GB
ada1 <=== HDD kedua 2TB
disini kita asumsikan HDD pertama (tank01 hdd ada0) udah kelar dan udah booting normal tanpa cdroom.. target kita membbuat tank02 di hdd ada1
jika masih keluar maka hancurkan dulu isinya HDD ke 2 (ada1) ====> dd if=/dev/zero of=/dev/ada1 bs=1m count=1
gpart create -s gpt ada1
gpart add -t freebsd-zfs ada1
zpool create tank02 /dev/ada1p1
zfs create tank02/root
##########################################################
######### hasil nya akan tampil seperti ini ##########
##########################################################
yoyoxnet# zpool status
pool: tank01
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank01 ONLINE 0 0 0
ada0p3 ONLINE 0 0 0
errors: No known data errors
pool: tank02
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank02 ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
##########################################################
#kita buat folder tank01 cache
zfs create -o atime=off tank01/root/cache-01
zfs create -o atime=off tank01/root/cache-02
zfs create -o atime=off tank01/root/cache-03
#kita buat folder tank02 cache
zfs create -o atime=off tank02/root/cache-04
zfs create -o atime=off tank02/root/cache-05
zfs create -o atime=off tank02/root/cache-06
zfs create -o atime=off tank02/root/cache-07
zfs create -o atime=off tank02/root/cache-08
zfs create -o atime=off tank02/root/cache-09
zfs create -o atime=off tank02/root/cache-10
zfs create -o atime=off tank02/root/cache-11
zfs create -o atime=off tank02/root/cache-12
zfs create -o atime=off tank02/root/cache-13
#ada kendala nih.. karena tank02 ini hdd berbeda maka kita harus mountpoint supaya di kenali oleh system
zfs set mountpoint=/cache-04 tank02/root/cache-04
zfs set mountpoint=/cache-05 tank02/root/cache-05
zfs set mountpoint=/cache-06 tank02/root/cache-06
zfs set mountpoint=/cache-07 tank02/root/cache-07
zfs set mountpoint=/cache-08 tank02/root/cache-08
zfs set mountpoint=/cache-09 tank02/root/cache-09
zfs set mountpoint=/cache-10 tank02/root/cache-10
zfs set mountpoint=/cache-11 tank02/root/cache-11
zfs set mountpoint=/cache-12 tank02/root/cache-12
zfs set mountpoint=/cache-13 tank02/root/cache-13
##########################################################
######### hasil nya akan tampil seperti ini ##########
##########################################################
yoyoxnet# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank01 390M 196G 31K none
tank01/root 389M 196G 389M /
tank01/root/cache-01 31K 196G 31K /cache-01
tank01/root/cache-02 31K 196G 31K /cache-02
tank01/root/cache-03 31K 196G 31K /cache-03
tank01/root/tmp 35K 196G 35K /tmp
tank01/root/var 188K 196G 188K /var
tank02 540K 1.78T 32K /tank02
tank02/root 352K 1.78T 42K /tank02/root
tank02/root/cache-04 31K 1.78T 31K /tank02/root/cache-04
tank02/root/cache-05 31K 1.78T 31K /tank02/root/cache-05
tank02/root/cache-06 31K 1.78T 31K /tank02/root/cache-06
tank02/root/cache-07 31K 1.78T 31K /tank02/root/cache-07
tank02/root/cache-08 31K 1.78T 31K /tank02/root/cache-08
tank02/root/cache-09 31K 1.78T 31K /tank02/root/cache-09
tank02/root/cache-10 31K 1.78T 31K /tank02/root/cache-10
tank02/root/cache-11 31K 1.78T 31K /tank02/root/cache-11
tank02/root/cache-12 31K 1.78T 31K /tank02/root/cache-12
tank02/root/cache-13 31K 1.78T 31K /tank02/root/cache-13
##########################################################
yoyoxnet# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
tank01 200G 390M 200G 0% 1.00x ONLINE -
tank02 1.81T 548K 1.81T 0% 1.00x ONLINE -
yoyoxnet# zpool status
pool: tank01
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank01 ONLINE 0 0 0
ada0p3 ONLINE 0 0 0
errors: No known data errors
pool: tank02
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank02 ONLINE 0 0 0
ada1p1 ONLINE 0 0 0
##########################################################
######### PERHATIAN ##########
##########################################################
proses instalasi hasil dokumentasi praktek selama 3 hari.
mohon maaf jika ada kesalahan nya.. mohon di koreksi yach...
system udah siap tinggal diisi squid atau squid lusca ataupun program pendukung baik unbound maupun apache..
tutor selanjut nya menyusul yach....
regard
yoyoxcomputer
##########################################################
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar