Sabtu, 15 September 2012

Install File System ZFS di FreeBSD untuk pemula

Cara mudah menginstall File System ZFS di FreeBSD 8.2 menggunakan script mfsBSD
info lebih lanjut silahkan kunjungi situs http://mfsbsd.vx.sk/


ZFS on FreeBSD


Silahkan download file iso terlebih dahulu lalu burn ke CD
untuk system AMD :
mfsbsd-se-8.2-amd64.iso
untuk system INTEL :
mfsbsd-se-8.2-i386.iso

Boot CD yg sudah di burn atau jalankan ISO di virtual mesin jika anda memakai VMware atau Virtualbox
default dari system mfsBSD adalah menggunakan DHCP bisa di skip menggunakan tombol CTRL+C untuk mempersingkat waktu,setelah muncul prompt login lakukan login sebagai berikut:

login:root
password:mfsroot

untuk menginstall ZFS hdd harus kosong tidak ada partisi sisa apapun, lakukan pengecekan sebelum menjalankan perintah scriptnya dengan cara sebagai berikut:

gpart show

jika hdd bersih maka tidak ada tampilan informasi apapun
dan kalau hdd sudah terisi maka sebagai contoh akan muncul informasi seperti ini:

cara menghapus partisi dan file system di hdd menggunakan gpart lakukan sebagai berikut:
lakukan penghapusan partisi dimulai dari angka terbesar atau partisi paling akhir dahulu

gpart delete -i 3 ad0
gpart delete -i 2 ad0
gpart delete -i 1 ad0

langkah terakhir menghapus filesystem GPT/filesystem lainnya

gpart destroy ad0

contoh gambar:

catatan kecil
ad0 ini adalah map HDD anda yg terletak pada /dev/ad0 . jadi untuk beberapa mesin jika menggunakan HDD SATA atau IDE akan terjadi perubahan sesuai letak primary atau secondary pada Mainboard anda. Cara mudah untuk mengetahui letak /dev/ hdd dan CDROM anda bisa dilihat saat start-up seperti ini:

HDD berada di /dev/ad0
CDROM berada di /dev/acd0

Lanjut ke berikutnya setelah HDD kosong kita bisa menginstall script dengan cara sebagai berikut:
lakukan mounting CDROM untuk membaca file distribusi FreeBSD 8.2 yang akan kita install

mount_cd9660 /dev/acd0 /media

untuk memastikan system sudah membaca isi CDROM lakukan cek seperti ini:

ls /media

seharusnya disitu sudah ada file 8.2-RELEASE-i386.tar.xz . lalu siap melakukan eksekusi script zfsnya :

zfsinstall -d /dev/ad0 -t /media/8.2-RELEASE-i386.tar.xz -s 1G

gambar selengkapnya:

keterangan:
zfsinstall adalah perintah script dari mfsBSD
-d adalah destination hdd yang akan di install
-t adalah target distribusi file dalam hal ini mengambil dari cdrom
-s adalah option untuk pembuatan partisi swap dengan GPT
1G adalah besar partisi yang akan di bikin dalam hal ini menggunakan space 1 Gigabyte .
optional :
-p adalah nama zfs pool sesuai selera jika tanpa option ini maka secara default nama zfs pool memakai nama "tank"

tunggu proses beberapa saat hingga selesai seperti gambar ini:

setelah selesai lakukan chroot pada hdd yang telah di isi file distribusi freebsd

chroot /mnt

sampai saat ini anda sudah berhasil menginstall filesystem zfs pada root freebsd dan langkah selanjutnya adalah menyetting dasar freebsd seperti ip addres host ssh dll, cara paling mudah melalui sysinstall

sysinstall

muncul popup menu dan pilih Configure

untuk membuat password root pilih Root Password


setelah selesai kembali ke menu dan untuk setting IP Address pilih Networking

masuk ke menu Interfaces

pilih list ethernet yang ada di komputer anda

silahkan sesuaikan dengan kebutuhan jaringan anda masing-masing




setelah selesai dan kembali ke menu pilih kebawah untuk menghidupkan service SSH dengan tombol space bar untuk menandainya

setelah itu kembali ke atas dan keluar dari menu lalu Exit Install


Kalau anda sudah mahir di FreeBSD cukup menggunakan editor seperti ini
ee /etc/rc.conf


Jangan lupa untuk menambahkan permit login root pada service SSH supaya dapat di remote

ee /etc/ssh/sshd_config

tambahkan option "PermitRootLogin yes"

tekan esc, enter dan enter


Sudah selesai install file system zfs dan konfigurasi freebsd langkah terakhir keluar dan reboot


Selamat anda telah selesai menginstall FreeBSD dengan ZFS
setelah itu anda bisa menginstall seperti biasanya, tutorial selanjutnya adalah menginstall proxy dengan squid

sampai jumpa


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

Tutorial membuat proxy dengan FreeBSD 8.2 ZFS


 

Sebelum memulai sebaiknya untuk tutorial ini jika ingin mendapatkan hasil yang maksimal gunakanlah
real PC dan jangan menggunakan virtual pc, penulis sudah menerapkan tutorial ini pada mesin
intel atom D945GCLF memakai RAM 1G dan HDD sata samsung 80G.
Dan jika hanya untuk belajar/sekedar testing gunakanlah minimal VMware7 (disarankan).

Untuk menginstall aplikasi pada FreeBSD ada dua cara yaitu melalui pkg_add untuk yang simpel
atau koleksi ports untuk custome. Bisa juga menginstall dari source aslinya yaitu kita mengkonfigurasi manual(berarti ada 3 cara ya bukan 2 cara hehehe)

pastikan anda sudah menginstall OS FreeBSD 8.2 dengan ZFS seperti pada tutorial disini:
Install File System ZFS di FreeBSD untuk pemula

Cara pertama
kita pilih mirror freebsd yang terdekat yaitu link lokal (IIX) ketik di terminal:
# setenv PACKAGEROOT "ftp://ftp.itb.ac.id"
untuk install squid dengan cara simpel cukup pake perintah:
# pkg_add -r squid

tunggu sampai proses instalasi otomatis selesai,

Cara kedua melalui ports
(lewati langkah ini jika memakai install melalui pkg_add)

ketik di console:
# setenv PACKAGEROOT "ftp://ftp.itb.ac.id"
# pkg_add -r cvsup-without-gui
# rehash



kita edit dulu csup untuk mirror ke link lokal (IIX) biar proses update port lebih cepat
# cp /usr/share/examples/cvsup/ports-supfile /etc
# ee /etc/ports-supfile

cari string berikut "*default host=CHANGE_THIS.FreeBSD.org"
lalu edit menjadi "*default host=cvsup.itb.ac.id"
exit dari editor dan simpan lalu jalankan perintah berikut:
# cvsup -L 2 -g /etc/ports-supfile

setelah itu tunggu proses update ports sampai selesai,prosesnya bisa memakan waktu tergantung kecepatan koneksi internet anda dan kesibukan jaringan server mirror.
setelah selesai update ports silahkan pindah ke direktori squid:
# cd /usr/ports/www/squid
# make config


pilih option yg di perlukan dan sesuai kebutuhan saja
(kalau penulis memakai sebagai berikut)

1

SQUID_KERB_AUTH

2

SQUID_NIS_AUTH


 

3

SQUID_CARP

4

SQUID_SSL


 

5

SQUID_IDENT

6

SQUID_AUFS


 

7

SQUID_KQUEUE

8

SQUID_LARGEFILE




pilih OK lalu proses make dan install
# make install
nanti akan muncul popup config PERL langsung pilih OK saja (default)

Cara ketiga
(hanya untuk expert only)
langsung ambil source mungkin yg sudah di patch (kustom) menggunakan fetch/wget dan extrak lalu recompile
# ./configure --prefix=/usr/local/squid
bla..bla.....

berhubung cara ketiga ini sudah expert maka tidak perlu lagi saya menuliskan tutorial ini
(padahal penulis juga belum pernah mencoba cara ketiga ini :ngakak)

jika sudah selesai install squidnya sekarang tinggal create direktori cache dan edit squid.conf.
saya ambil contoh dir cache dengan kapasitas 20G
# zfs create -o compression=gzip-9 -o atime=off -o mountpoint=/cache1 -o quota=20 tank/cache1
lalu set permissionnya sebagai berikut:
# chown -R squid:squid /cache1

timpah/edit squid.conf
# ee /usr/local/etc/squid/squid.conf

dengan konfigurasi berikut:
(jng di copas langsung tp gunakan view source pada kanan atas code ini baru copas)
(lebih mudah mengedit menggunakan WinSCP)

001

http_port localhost:3128

002

#192.168.1.7--> sesuaikan IP mesin ini


 

003

http_port 192.168.1.7:3128 transparent

004

  


 

005

#cache deny url that has cgi-bin and ? this is the default earlier than squid 2.7 version

006

acl QUERY urlpath_regex cgi-bin ?


 

007

cache deny QUERY

008

  


 

009

  

010

#acl nocache dstdomain "/usr/local/etc/squid/disable.acl" # khusus membypass domain yg tidak -


 

011

#cache deny nocache # perlu untuk di cache seperti rapidshare,megaupload dan file hosting lainya

012

cache deny nocache1


 

013

  

014

  


 

015

acl all src 0.0.0.0/0.0.0.0

016

acl manager proto cache_object


 

017

acl localhost src 127.0.0.1/255.255.255.255

018

acl warnet src 192.168.0.0/16


 

019

  

020

acl SSL_ports port 443


 

021

acl Safe_ports port 80 # http

022

acl Safe_ports port 21 # ftp


 

023

acl Safe_ports port 443 # https

024

acl Safe_ports port 70 # gopher


 

025

acl Safe_ports port 210 # wais

026

acl Safe_ports port 1025-65535 # unregistered ports


 

027

acl Safe_ports port 280 # http-mgmt

028

acl Safe_ports port 488 # gss-http


 

029

acl Safe_ports port 591 # filemaker

030

acl Safe_ports port 777 # multiling http


 

031

acl purge method PURGE

032

acl CONNECT method CONNECT


 

033

  

034

http_access allow purge all


 

035

http_access allow manager all

036

http_access deny !Safe_ports


 

037

http_access deny CONNECT !SSL_ports

038

http_access allow localhost


 

039

http_access allow warnet

040

http_access deny all


 

041

http_reply_access allow all

042

  


 

043

# optional jika tidak memakai dns nawala

044

# acl block dstdomain "/usr/local/etc/squid/block.acl"


 

045

# http_access deny block

046

  


 

047

  

048

# disini penulis juga belum begitu paham jd untuk settingan di bawah ini menggunakan RAM 1G dan dir cache 20G


 

049

# silahkan oprek sendiri untuk hasil yang maksimal

050

cache_mem 8 MB


 

051

cache_swap_low 95

052

cache_swap_high 99


 

053

  

054

maximum_object_size 180 MB


 

055

maximum_object_size_in_memory 32 KB

056

  


 

057

cache_replacement_policy heap LFUDA

058

memory_replacement_policy heap GDSF


 

059

cache_dir aufs /cache1 20000 40 256

060

cache_access_log /cache1/access.log


 

061

# /cache1/access.log none

062

cache_log /cache1/cache.log


 

063

# /cache1/cache.log none

064

cache_store_log /dev/null


 

065

logfile_rotate 7

066

  


 

067

# refresh pattern untuk squid disini belum support store-stale jd ini hanya sebagai contoh dan ini yg saya pake sekarang

068

refresh_pattern -i .(css|js|jsp|xml)$ 10080 100% 604800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-auth ignore-private ignore-reload


 

069

refresh_pattern -i .(gif|png|jpg|ico|bmp|tiff)$ 10080 100% 604800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-auth ignore-private ignore-reload

070

refresh_pattern -i .(swf|wav|mp3|mp4|au|mid)$ 10080 100% 604800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-auth ignore-private ignore-reload


 

071

  

072

refresh_pattern .photobucket.*.(jp(e?g|e|2)|tiff?|bmp|gif|png)          14400  99999999% 14400  override-expire ignore-reload ignore-private negative-ttl=0


 

073

refresh_pattern .wordpress.*.(jp(e?g|e|2)|tiff?|bmp|gif|png)        14400  99999999% 14400  override-expire ignore-reload ignore-private negative-ttl=0

074

refresh_pattern .speedtest.*.(jp(e?g|e|2)|tiff?|bmp|gif|png)        14400  99999999% 14400  override-expire ignore-reload ignore-private negative-ttl=0


 

075

refresh_pattern .piceye.*.(jp(e?g|e|2)|tiff?|bmp|gif|png)               14400  99999999% 14400  override-expire ignore-reload ignore-private negative-ttl=0

076

refresh_pattern ^ftp: 1440 20% 10080


 

077

refresh_pattern ^gopher: 1440 0% 1440

078

refresh_pattern -i (/cgi-bin/|?) 0 0% 0


 

079

refresh_pattern . 0 20% 4320

080

  


 

081

visible_hostname proxy.server

082

cache_mgr proxy


 

083

  

084

  


 

085

zph_mode tos

086

zph_local 0x30


 

087

zph_parent 0

088

zph_option 136


 

089

  

090

cache_effective_user squid


 

091

cache_effective_group squid

092

  


 

093

pid_filename /var/squid/logs/squid.pid

094

  


 

095

  

096

# vary_ignore_expire on


 

097

header_access From deny all

098

# header_access Link deny all


 

099

# header_access Server deny all

100

header_access Via deny all


 

101

header_access X-Forwarded-For deny all

102

# header_access Host deny all


 

103

# header_access Referer deny all

104

# header_access Location deny all

setelah selesai edit squid.conf ketik di terminal:
# rehash
untuk cek squid.conf
# squid -k parse
jika tanpa error lanjut create swap
# squid -z
dan jalankan squidnya
# squid

silahkan test squid anda
# squidclient mgr:info

Langkah terakhir beberes config, pertama edit rc.conf
# ee /etc/rc.conf
tambahkan entry berikut:

1

sendmail_enable="NO"

2

sendmail_submit_enable="NO"


 

3

sendmail_outbound_enable="NO"

4

sendmail_msp_queue_enable="NO"

edit juga loader.conf
# ee /boot/loader.conf
tambahkan entry berikut:
(ingat ram minimal 1G)

1

vm.kmem_size="512M"

2

vm.kmem_size_max="512M"


 

3

vfs.zfs.arc_max="40M"

4

vfs.zfs.vdev.cache.size="5M"

dan membuat start-up untuk squidnya
# ee /usr/local/etc/rc.d/squid.sh
copas entry berikut:

1

#!/bin/sh

2

/usr/local/sbin/squid


lalu
# chmod 755 /usr/local/etc/rc.d/squid.sh
jika anda ingin menambahkan dir_cache tinggal create zfs lagi seperti:
# zfs create -o compression=gzip-9 -o atime=off -o mountpoint=/cache2 -o quota=20 tank/cache2
lalu set permissionnya sebagai berikut:
# chown -R squid:squid /cache2
lalu tambahkan ke squid.conf

1

cache_dir aufs /cache2 20000 40 256

dan seterusnya.....

Sekian dan terima kasih atas perhatiannya dan semoga bermanfaat.

Tidak ada komentar:

Posting Komentar