Thursday, 26 January 2012

လက္ရွိ IPv4 network ထဲမွာ IPv6 နဲ႕ပါ အလုပ္လုပ္ ရေအာင္ (IPv6 DHCP)

     တခါတရန္ IPv4 Network ထဲမွာ IPv6 ေတြနဲ႕ run  ဖို႕ / မိမိ webapp  ေတြကို IPv6 ေတြနဲ႕ေရာ အဆင္ေျပ ပမလား ဆိုျပီး testing လုပ္ဖို႕ လိုအပ္ လာရင္ IPv4 Network မွာ IPv6 address ပါတြဲ ျပီ လိုအပ္လာ ပါမယ္...

- Network မွာ IPv4 နဲ႕ လက္ရွိ run ေနျပီ လို႕ယူစပါတယ္..
- လက္ရွိ network မွာ IPv4 အတြက္ DHCP  ရွိျပီးသားလို႕ ယူစ ပါတယ္
- ယခု SAMPLE  သည္ Local Only အတြက္သာ ျဖစ္ပါတယ္
- သာမန္ Linux OS (recommended kernal 2.6.x)  တခု နဲ႕ လုပ္မွာပါ (IPV6 ready ျဖစ္ဖို႕ ဒီ kernal ကိုသံုးတာပါ)
- လိုအပ္တဲ့ Package ကေတာ့ radvd (Router Advertisement Daemon)ပါ..

     စျပီး လိုအပ္တဲ့ package radvd ကို install လုပ္ပါမယ္..
#apt-get install radvd



     သူ႕ radvd.conf file က /etc ေအာက္မွာ သာမန္ automatic ပါမလာပါဘူး အဲဒါေၾကာင့္ radvd.conf file ကို manually  လုပ္ပါမယ္
#vi /etc/radvd.conf



     အဲဒီ  radvd.conf ထဲမွာ ေအာက္ပါ အတိုင္း configuration ေရးပါမယ္

interface eth0 {
        AdvSendAdvert on;
        MinRtrAdvInterval 3;
        MaxRtrAdvInterval 10;
        prefix 2001:1000:1000:1000::/64 {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
        };
};



(ဒီမွာေတာ့ eth0 network card ကေန IPv6 address ေတြကို release လုပ္မွာပါ | Global Unicast Address နဲ႕ပဲ သံုးပါမယ္ )

     IPv6 ကို Allow ေပးဖို႕ /etc/sysctl.conf မွာသြား ျပင္ပါမယ္..
#vi /etc/sysctl.conf

ေအာက္ပါ စာေၾကာင္း ကိုရွာျပီး ထို စာေၾကာင္း ေရွ့က "#" sign ကို remove လုပ္ျပီး vaule ကို "1" သို႕ ေျပာင္းေပး႐ံုပါပဲ

"net.ipv6.conf.all.forwarding=1"



     ေျပာင္းလိုက္တဲ့ value active  ျဖစ္ေအာင္ ထို module ကို reload ျပန္လုပ္ပါမယ္..
#sysctl -p



      radvd service ကို start လုပ္လို႕ ရပါျပီ..



     ဒါဆိုရင္ အခု config လုပ္ထားတဲ့ ဒီစက္ကေန network တခုထဲမွာ အတူတူ ရွိတဲ့ စက္ေတြဆီ ကို သူကေန IPV6 address ေတြကို release လုပ္ေပးေနပါလိမ့္မယ္..


 Window 7/Linux/.. ေတြမွာေတာ့ IPV6 Address ကို Auto ရမွာပါ..Window Xp ေတြမွာ IPV6  ကို Install လုပ္ဖို႕ ေအာက္ပါ command ကို cmd ထဲမွာ သံုးေပးရပါမယ္...
"netsh int ipv6 install"
ref: http://support.microsoft.com/kb/2478747

Note: 
     radvd ကို DD-WRT (open source firmware) နဲ႕လဲ setup လုပ္ႏိုင္ပါတယ္ ( Linksys wrt54g တလုံးရွိခဲ့ရင္)
           ref: http://www.dd-wrt.com/wiki/index.php/IPv6
     အကယ္၍ IPV6 only website ေတြကို အသံုးျပဳ ခ်င္တယ္ဆိုရင္ေတာ့ (သင့္ WAN IP  က Public IP ျဖစ္ဖို႕ေတာ့ လိုအပ္ပါတယ္)  tunnelbroker နဲ႕ IPV6 over IPV4 (Dual Stack) လုပ္ျပီသံုးႏိုင္ပါတယ္ ( 6to4 tunneling service အတြက္က http://tunnelbroker.net/ လို site ေတြမွာ FREE SignUp လုပ္ျပီး သံုးႏိုင္ပါတယ္)
           ref: http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers
     ေနာက္တနည္းက Teredo Tunneling နဲ႕လဲ သံုးႏိုင္ပါေသးတယ္..ဒီနည္းကေတာ့ မိမိ စက္တ လုံးထဲ အတြက္ ပဲဆိုရင္ အေကာင္းဆုံးပါပဲ
           ref: http://blargasm.com/post/7979540039/ipv6-teredo-howto

Cheers!!!

REF:
- http://tunnelbroker.net/
- http://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.xml
- http://www.litech.org/
- http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers

>>

UTEE

Wednesday, 11 January 2012

Google ကို Shell တခုကေန Command နဲ႕ သံုးရေအာင္...


GOOSH !!!! GOOSH !!!! GOOSH !!!! 

စိတ္ ဝင္စား ဖြယ္ရာ !!!!  Google ကို Shell တခု ေပၚကေန သံုးလို႕ရေအာင္ လုပ္ထား တာပါ။ သူ႕ကိုေတာ့ Stefan Grothkopp ဆိုတဲ့လူက developed လုပ္ထား တာပါ။ သူက google open source project under GPL နဲ႕ released လုပ္ထားပါတယ္တဲ့...

ဒါကေတာ့ Shell Link  ပါ....
http://www.goosh.org
ဒါကေတာ့ Source Code Link  ပါ....
http://code.google.com/p/goosh/
Code Via SVN
http://code.google.com/p/goosh/source/checkout

 Ref:
- http://nayyares.blogspot.com/2010/09/googles-shell-for-linux-geeks.html

>>

UTEE

Linux တခုေပၚ မွာ Hard Drive ေတြကို RAID လုပ္ရေအာင္..

-->


RAIDကို အသံုးျပဳတဲ့ ရည္ရြယ္ခ်က္ ေတြက ကြဲလြဲႏိုင္ပါတယ္... ဒါေပမဲ့ သူ႕ကို Backup Server/ DataBase Server/ Sharing Server/ blar blar server အတြက္သံုးဖို႕ Data Access Time ျမန္ျမန္ ရခ်င္တဲ့ အခါေတြမွာ မသံုးမျဖစ္ကို သံုးၾကပါတယ္ (Access Time ေျပာလို႕ Access Time အတြက္ဆိုရင္ SSD သံုးမွာေပါ့လို႕ေတာ့ မေျပာနဲ႕ ေနာ္... SSD ရဲ့ ေစ်းက မေသး ဘူးဆို တာျငင္း လို႕မရဘူး... :D) .. အားသာခ်က္ ေတြက ရွိတာကိုး... Detail ကိုေတာ့ ရွာဖတ္ ၾကည့္ပါ ( http://en.wikipedia.org/wiki/RAID မသိ ေသးေသာသူ သာရည္ရြယ္ ပါသည္)..

အခု sample ေလးမွာေတာ့ RAID အတြက္ information က ေအာက္ပါ အတိုင္း ပါ...

OS : Debian 5
Attached HDD : 10GB 4 pics
sda : System (not in array)
sdb : will be in array
sdc : will be in array
sdd : will be in array
RAID Array Level : 5 (RAID5)
Require Linux Package : mdadm

(သာမန္ အားျဖင့္ RAID Array 5 က အဆင္အေျပဆုံး ပဲလို႕ထင္တယ္ ဘာလို႕ လဲဆိုေတာ့ HDD ၃လုံးက ေနစလိုရတယ္.. Fault Tolerance က ၁လုံး လက္ခံတယ္.. ေနာက္ မူရင္း HDD Size နဲ႕ တအား မကြာသြားဘူး)

စျပီ လိုအပ္တဲ့ mdadm ကို အရင္ install လုပ္ပါမယ္..
#apt-get install mdadm


အရင္ Attach လုပ္ထားတဲ့ HDD ေတြရဲ့ Information ေတြကို ၾကည့္ပါမယ္..
#fdisk -l



အဲဒီမွာ /dev/sda1 /dev/sda2 /dev/sda5 ေတြက system အတြက္ သံုးထားတဲ့ sda ရဲ့ partition ေတြ ပါ သူ႕ရဲ့ partition ေတြကို system ကသိေနပါျပီ.. အဲ /dev/sdb /dev/sdc နဲ႕ /dev/sdd ေတြကိုေတာ့ system က partition အေနနဲ႕ မသိေသးပါဘူး..

fdisk နဲ႕ပဲ အဲဒီ Hard Drive ေတြကို System က Partition အေနနဲ႕ သိေအာင္ လုပ္ေပးမယ္ ေနာက္ RAID Create လုပ္ရင္ Auto Detect ျဖစ္ေအာင္ပါ တခါတည္း လုပ္ပါမယ္.. Hard Drive "sdb" ကို စလုပ္ ပါမယ္.. အဲဒီ အတြက္ fdisk command နဲ႕ ေအာက္က အတိုင္း စပါမယ္..

#fdisk /dev/sdb

Command ႐ိုက္ျပီး ရင္ ေတာ့ ေအာက္က ပံုထဲမွာအတိုင္း လုပ္ေဆာင္ ပါမယ္...


n = new partition လုပ္ပါမယ္
p = primary partition ပါ
1 = partition number ပါ ( 1 to 4 မိမိ ၾကိဳက္ႏွစ္သက္ရာ ေပးႏိုင္ပါတယ္)
First cylinder ဘယ္က စမလဲ Default “Enter” ေခါက္ပါမယ္..
Last cylinder ဘယ္မွာ ဆုံးမလဲ Default “Enter” ေခါက္ပါမယ္..

t = partition's system id ကို change ပါမယ္..
fd = partition ရဲ့ system type ကို change ပါမယ္.. linux raid auto ဆိုတဲ့ system type ကို change ပါမယ္..

w = အထက္ပါ လုပ္ေဆာင္ခ်က္ေတြကို save တာပါ..

/dev/sdb အတြက္ ျပီးသြား ပါျပီး .. အထက္ပါ အဆင့္ေတြ အတိုင္း /dev/sdc နဲ႕ /dev/sdd အတြက္ပါ လုပ္လိုက္ပါမယ္..

"fdisk -l" command နဲ႕ တခ်က္ စစ္ၾကည့္ လိုက္ပါ Hard Drive ၃ခု လုံး RAID အတြက္ Ready ျဖစ္ေနပါျပီ..

#fdisk -l



အဲဒီ /dev/sdb1 /dev/sdc1 /dev/sdd1 partitionသံုးခုကို RAID စလုပ္ပါမယ္..

#mdadm --create /dev/md1 --level=5 --raid-disk=3 /dev/sdb1 /dev/sdc1 /dev/sdd1



အဲဒီ Array လုပ္ထားတဲ့ /dev/md1 ကို Format ခ်ပါမယ္ File System “ext3” နဲ႕ပါ..

#mkfs.ext3 /dev/md1



အဲဒီ Format ခ်ထားတဲ့ /dev/md1 Device ကို အသံုးျပဳ ႏိုင္ေအာင္ mount လုပ္ပါမယ္ backup ဆိုျပီ Directory တခု ေဆာက္ျပီး အဲဒီ ေပၚကို mount လုပ္ပါမယ္...

#mkdir /backup
#mount /dev/md1 /backup



System မွာ အျမဲ mount ျဖစ္ဖို႕ကို /etc/fstab မွာသြား ေရးပါမယ္..

#vi /etc/fstab



ေရးျပီး Save ျပီးရင္ System ကို Restart တေခါက္ေလာက္ ခ်ၾကည့္ပါSystem ျပန္တက္လာရင္ သင့္ရဲ့ RAID5 Arrayလုပ္ထားတဲ့ Device ကိုသံုး ဖို႕ Ready ျဖစ္ေနပါျပီ...

#df -H


RAID5 Device ရဲ့ Info ကိုၾကည့္ပါ မယ္..
#mdadm --detail /dev/md1



ဒီ RAID Array Device ကို Management/Control လုပ္ဖို႕ဆိုရင္ "mdadm” ဆိုတဲ့ commandကိုေတာ့ detail သိရွိ ထားဖို႕လိုအပ္ ပါတယ္...

ကဲ ျပသနာ ရွာၾကည့္ရေအာင္..... :D
ေနာက္ဆုံး Hard Drive (/dev/sdd) ကို ၾကိဳးဆြဲ ျဖဳတ္ လိုက္ျပီ ဗ်ာ Hard Drive မေကာင္းေတာ့ဘူး ပ်က္သြားတယ္ေပါ့ .. :D RAID5 Array Detail ျပန္ၾကည့္ရေအာင္...

#mdadm --detail /dev/md1


အဲဒီ remove လုပ္လိုက္တဲ့ Hard Drive ေနရာမွာ တျခား Hard Drive တလုံးကို Attach လုပ္ျပီး RAID ကိုျပန္ျပင္ ပါမယ္.. (အဲဒီမွာ သတိ ထားရမွာက ေနာက္ အစားထိုး မဲ့ Hard Drive က ယခင္ Hard Drive နဲ႕ Size ျခင္း တူရင္တူ မတူရင္ ၾကီး ရပါမယ္ ငယ္လို႕ မရပါ)

ဒီမွာေတာ့ New 12GB Hard Drive ကို အရင္ Hard Drive ေနရာမွာ အစားထိုး ထားေတာ့ system မွာယခင္ Drive Name /dev/sdd နဲ႕ပဲျပန္ေပၚပါတယ္.. System က partition တခု အေနနဲ႕ သိရေအာင္ အေပၚက partition createလုပ္တဲ့ ပံုစံနဲ႕ New Hard Drive ကို partitionအရင္ လုပ္ပါ..

ျပီးရင္ ေအာက္က Command နဲ႕ New Hard Drive ကို Add ေပးလိုက္႐ံု ပါပဲ....

#mdadm /dev/md1 --add /dev/sdd1

-->


Detail ၾကည့္ၾကည့္ပါ သူဟာသူ RAID ကို Re-Building ျပန္လုပ္ေနပါလိမ့္မယ္..

#mdadm --detail /dev/md1



ကဲ ဒီေလာက္ဆို OK မွာပါ။... Cheers !!!

Ref:


>>

UTEE