Thursday, November 12, 2015

How to manage a DDoS or DoS attempt directed at your linux server

พอดีอ่านใน facebook ของรุ่นพี่คนนึง แล้วบังเอิญตรงกับเหตุการณ์ที่กำลังพบอยู่พอดีเลยเอามาแบ่งกันนะครับ ยังไงก็ขออนุญาตพี่ด้วยนะครับ

วิธีการตรวจจับ DDoS ใน Linux Server
1. Website ช้าลง
2. สังเกตุพบว่า Process แฮงค์
3. มีการเรียกมาจาก IP เดิมๆซ้ำไปซ้ำมาเยอะๆ
4. Resource ของระบบมีการนำไปใช้ใน Process เยอะ
5. ตรวจจับได้ว่ามี Connection มากผิดปกติโดยใช้คำสั่ง
# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
ส่งผลให้
1. Web Server down
2. System load
สูงมากๆ
3. Server
ไม่ตอบสนอง
4. SSH
ไป server ไม่ได้
5.
เข้าถึงเครื่องไม่ได้เลยจนกระทั่งต้องไป reboot เครื่อง
วิธีป้องกันและแก้ไขปัญหา
1. Enable SYN COOKIES at the kernel level
# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

2. Enable and Configure iptables to prevent the attack or at least work to identify the attack
/sbin/iptables -N syn-flood

/sbin/iptables -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN

/sbin/iptables -A syn-flood -j LOG --log-prefix "SYN flood: "

/sbin/iptables -A syn-flood -j DROP

3. Install APF firewall เพื่อเอาไว้ตรวจสอบพฤติกรรมที่น่าจะเป็นอันตราย
APF ย่อมาจาก Advanced Policy Firewall. สามารถ download ได้จากhttp://www.rfxn.com/projects/
4. ติดตั้ง Script DDoS Deflate เพื่อเอาไว้ป้องกัน DoS แบบ Auto
โดย DDoSDflate สามารถทำได้ดังนี้
It is possible to whitelist IP addresses, via /etc/ddos/ignore.ip.list.
It is possible to whitelist hostnames, via /etc/ddos/ignore.host.list.
Simple configuration file: /etc/ddos/ddos.conf
IP addresses are automatically unblocked after a preconfigured time limit (default: 600 seconds)
The script can run as a cron job at chosen frequency via the configuration file (default: 1 minute)
The script can run as a daemon at chosen frequency via the configuration file (default: 5 seconds)
You can receive email alerts when IP addresses are blocked.
Control blocking by connection state (see man netstat).
Auto-detection of firewall.
Support for APF, CSF and iptables.
Logs events to /var/log/ddos.log
โดยสามารถ download และดูข้อมูลเพิ่มเติมได้ที่ https://github.com/jgmdev/ddos-deflate



แบบของพี่ผมครับ : https://www.facebook.com/hackandsecbook/photos/a.314873568541354.90859.308570299171681/1149404378421598/?type=3&fref=nf&pnref=story

Sunday, October 4, 2015

VMware vRealize Operations Manager configuration


VMware vRealize Operations Manager


     VMware vRealize Operations Manager คือ software management cloud platform ของทาง VMware ซึ่งสามารถจัดการได้ทั้ง private cloud และ public cloud แถมยังติดตั้งง่ายอีกด้วย

Step
  • Download ovf จาก https://my.vmware.com/group/vmware/evalcenter?p=vrops แล้วทำการ deploy
  • config network
  • เปิด browser แล้วไปที่ https://vrops-ip
  • เลือก express install กด next แล้วใส่ password แล้วกด Finish จากนั้นก็รอสักพัก
  • ใส่ user / password admin ที่ตั้ง


  • ไปที่ solution -> VMware vSphere -> รูปเฟือง



  • ใส่ข้อมูลของ vCenter ที่จะ monitor ลงไปตัวอย่างตามภาพ






  • ในส่วนมอนิเตอร์ก็จะแสดงรายละเอียดต่างๆรวมไปถึงการบริโภคทรัพยากรของ vCenter server ที่เรา add ไป






Thursday, September 24, 2015

How to Create Distribute virtual switch on vSphere web client 6

How to Create Distribute virtual switch on vSphere web client 6

step :
  • open vsphere web client and login to your vcenter
  • select vCenter inventory list on left menu

  • select vCenter server

  • select your vcenter server

  • select Distribute switch on left menu or top menu

  • Create distribute switch

  • Enter your distribute switch, choose DC and click next

  • select version

  • Enter your distribute port group

  • click next and click finish
  • Done!!

  • If your go to distribute port group menu.You can see your distribute port group.


Saturday, July 18, 2015

How to kill VM guest by ESXi command

How to kill vm guest by ESXi command

ถ้าเราพบปัญหา vm ค้างแล้วกด power off ไปแล้วไม่ดับ เราสามารถ kill process ของ vm นั้นๆผ่านทาง esxi cmd ได้โดย


  • ssh to ESXi host
  • check process vm on this host
    # esxcli vm process list
  • power off vm ที่ต้องการ
    # esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber

    หรือ
    # esxcli vm process kill -t [ soft,hard,force] -w WorldNumber
  • หลังจากนั้นก็จะเห็นว่า vm นั้นดับไป เราก็ค่อยเปิดขึ้นมาใช้งานตามปกติ
credit by : http://kb.vmware.com/

Thursday, July 16, 2015

How to Share ZFS on NFS protocol

How to Share ZFS on NFS protocol.

หลังจากที่เราได้สร้าง zpool และ zfs dataset แล้ว เราจะแชร์ไฟล์ให้เครื่องอื่นๆใน network ได้ใช้ ก็สามารถทำได้โดยใช้คำสั่งตามนี้ครับ

zfs set sharenfs=rw=host1:host2:host3,root=host1:host2:host3 {zpoolname}


แค่นี้ก็สามารถ share ไฟล์ให้ client ต่างๆได้แล้ว

credit : http://zfsonlinux.org/

Wednesday, July 8, 2015

How to install ZFS on Linux(zol) on Debian

          ZFS zeta byte file system คือ file system ชนิดหนึ่งเป็นของ Sun ซึ่งต่อมาทำเป็น open source
 Install package
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_4_all.deb
# dpkg -i zfsonlinux_4_all.deb
# wget http://zfsonlinux.org/4D5843EA.asc -O - | apt-key add -
# apt-get update
# apt-get install debian-zfs parted
Prepare disk
# parted /dev/sd{X} mklabel gpt
Create zpool(Disk)
# zpool create -m none -o ashift=12 {poolname} /dev/sd{X}
Check pool status
# zpool status
or
# zpool get {all,poolname}
Create zfs(partition)
# zfs create iqpool/data
# zfs set dedup={on,off} iqpool/data
# zfs set atime={on,off} iqpool/data
Check zfs status
# zfs list
# zfs get iqpool/data

Tuesday, September 9, 2014

การเปลี่ยน ESXi host IP Address ด้วย ssh command line

วันนี้เราจะมาดูวิธีเปลี่ยน ip address ของ esxi host ด้วย command line กันนะครับ ซึ่งวิธีนี้ถ้าคนที่ใช้คล่องก็จะรู้สึกว่าสะดวกมากเลยทีเดียวนะครับ เพราะไม่ต้องมานั่งล็อกอินเข้า vsphere client หรือ ต่อหน้าจอ console หรือ iLo หรือจะอะไรก็แล้วแต่ครับ และที่สำคัญ linux ก็ใช้ได้เลยโดยไม่ต้องติดตั้งอะไรเพิ่มด้วยครับ เอาล่ะครับมาเริ่มกันเลยดีกว่า

  1. ssh เข้าไปที่ esxi host ก่อนเลยครับ จะด้วย putty หรือถ้าใครใช้ linux ก็เปิด terminal ขึ้นมาแล้วใช้คำสั่ง
    # ssh root@esxi-server
    
  2. ใช้คำสั่งดูก่อนครับว่ามีคอนฟิกเก่าอะไรอยู่บ้าง

    # esxcli network ip interface ipv4 get
    

    Name  IPv4 Address   IPv4 Netmask   IPv4 Broadcast  Address Type  DHCP DNS
    ----  -------------  -------------  --------------  ------------  --------
    vmk0  10.224.199.12  255.255.255.0  10.224.199.255  STATIC           false
    vmk2  192.168.10.13  255.255.255.0  192.168.10.255  STATIC           false
  3. แก้คอนฟิกด้วยคำสั่ง

    # esxcli network ip interface ipv4 set -i vmk2 -I 192.168.10.111 -N 255.255.255.0 -t static
  4. ดูอีกทีครับ

    # esxcli network ip interface ipv4 get
    

    Name  IPv4 Address   IPv4 Netmask   IPv4 Broadcast  Address Type  DHCP DNS
    ----  -------------  -------------  --------------  ------------  --------
    vmk0  10.224.199.12  255.255.255.0  10.224.199.255  STATIC           false
    vmk2  192.168.10.111  255.255.255.0  192.168.10.255  STATIC           false
เท่านี้ก็เป็นอันเรียบร้อยครับ

Monday, September 8, 2014

การ config ให้ใช้ ssh ได้โดยไม่ถาม password

การ Config ssh ให้ไม่ต้องถาม password

วิธีนี้เป็นวิธีที่ไม่ค่อยจะแนะนำนะครับ จุดประสงค์จริงๆก็คือเอาไว้ใช้สำหรับระบบ automate นะครับ

เช่น autodeploy autoemate-testing etc.

ส่วนวิธีการก็ไม่มีอะไรยากครับ ก่อนเริ่มมาอธิบายกันก่อนครับว่าเราจะทำอะไร

- ใช้ user : test ของเครื่อง1 secure shell เข้าไปที่ user : test2 ของเครื่อง 2 โดยไม่ต้องใช้ password ครับ

มาเริ่มกันเลยครับ


  1. เข้าเป็น user : test ของเครื่อง 1 ครับ

    # su - test

  2. สร้าง path ที่ไว้เก็บ key ครับ

    [test@server1]$ mkdir /home/test/.ssh
    

  3. genarate key ครับ

    [test@server1]$ ssh-keygen -t rsa -b 2048
    

  4. จากนั้นก็โยนไฟล์ไปให้ เครื่อง 2 ครับ

    [test@server1]$ ssh-copy-id test2@server2

  5. ทีนี้ก็ลองใช้ได้เลยครับ ถ้าได้ก็จะขึ้น prompt มานะครับ ถ้าไม่ได้จะเป็นชื่อ user เดิม

    [test@server1]$ ssh test2@server2
    -bash-4.1$


เป็นไงบ้างครับ ไม่ยากเลยนะครับ สำหรับครั้งนี้ก็ขอลาไปเพียงเท่านี้ครัช สวัสดีครัช 555

Saturday, August 23, 2014

การติดตั้ง และคอนฟิก virtual DNS Primary(master) Server บน VMware (CentOS6.4)

การติดตั้ง และคอนฟิก DNS Server บน VMware

     dns server คืออะไร
     dns ก็คือ domain name system
     server ก็คือ เครื่องแม่ข่าย
     virtual ก็คือ การจำลอง
     เมื่อเอามารวมกันก็ได้ว่า เครื่องแม่ข่าย dns เสมือนนั่นเองงง **ยิ่งแปลยิ่งงง อิอิ

DNS มีหน้าที จับคู่ IP address กับ hostname แล้วแปลงไปกลับนะครับ จะว่ายังไงดีล่ะ ก็ประมาณเป็นเหมือนหน่วยงานหนึ่งที่ทำหน้าที่ เก็บข้อมูลของคนไทย แล้วบันทึกว่าคนไหนใช้เบอร์โทรศัพท์อะไรประมาณนั้นอ่ะครับ เวลาเราเรียกเครื่องจากปกติ เราจะต้องเรียกเป็น ip addr เช่น
     - ping [ipaddr]
     - http://[ipaddr]
เป็นต้นนะครับ เจ้าตัวนี้จะช่วยให้เราเรียกเป็นชื่อได้ เราจึงไม่ต้องจำเป็น ipaddr ครับ เช่น
     - http://www.google.co.th
     - http://virtualitinfra.blogspot.com
แล้ว primary คืออะไร ก็คือการทำ redundancy กันครับ เผื่อว่าตัวนึงร่วงจะได้ไม่กระทบกับระบบครับ

ทีนี้เรามาดูกันดีกว่าว่าจะใช้เจ้านี่ได้ยังไง

อ่อ! ลืมบอกไป วิธีนี้ใช้ได้กับทั้ง virtual server และ physical server เลยนะครับ

  • ก่อนอื่นก็ mount แผ่น CentOS 6.4 ก่อนเลยครับ
  • mount cd ครับ

    # mkfir /mnt/cdrom
    # mount /dev/sr0 /mnt/cdrom
  • ไปแก้ไขไฟล์ repo ครับ

    # vi /etc/yum.repos.d/CentOS-Media.repo


    ตรงบรรทัด 
    baseurl=file:///media/CentOS/
    ให้แก้เป็น 
    baseurl=file:///mnt/cdrom/

    จากนั้นกด ESC และ :wq เพื่อเซฟไฟล์ครับ
  • update repos

    # yum update -y
  • install bind ครับ

    # yum install bind bind-utils -y
  • จากนั้นก็ไปคอนฟิกไฟล์ /etc/named.conf ครับ

    # vi /etc/named.conf


    ดูในส่วนของ option ก่อนนะครับ

    options {
    listen-on port 53 { 127.0.0.1; 10.224.202.11;}; #ip master server
    listen-on-v6 port 53 { ::1; };
    directory       "/var/named";
    dump-file       "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { localhost; 10.224.202.0/24;}; #IP Range client
    allow-transfer  { localhost; 10.224.202.12;};   #DNS Slave server
            recursion yes;
            dnssec-enable yes;
            dnssec-validation yes;
            dnssec-lookaside auto;
    
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key";
    
            managed-keys-directory "/var/named/dynamic";
    };
    
    จากนั้นประกาศ zone ใหม่ขึ้นมาท้ายไฟล์ครับ ต่อจาก zone "." IN ... นะครับ ในที่นี้จะใช้ว่า demo.local นะครับ      ส่วนของ forward zone ก่อนเลยครับ forward zone ก็คือ การ mapping hostname -> IPADDR ครับ
    zone "demo,local" IN {
            type master;
            file "f.demo.local";
            allow-transfer { 10.224.202.12; };     #IP slave server
    };
    
    จากนั้นก็ reverse zone ครับ ก็คือ ส่วนที่ทำหน้าที่ แปลง IPADDR -> hostname ครับ
    zone "202.224.10.in-addr.arpa" IN {
            type master;
            file "r.demo.local";
            allow-transfer { 10.224.202.12; };
    };

    จากนั้นก็ เซฟไฟล์และปิดไฟล์ครับโดยกด esc แล้วตามด้วย :wq และ enter ครับ
  • คอนฟิกไฟล์ f.demo.local

    # vi /var/named/f.demo.local

    พิมพ์ตามนี้ครับ

    $TTL    86400
    @       IN      SOA     ns1.demo.local.      root.demo.local. (
                    2014082002      ;Serial
                    3600            ;Refresh
                    1800            ;Retry
                    604800          ;Expire
                    86400           ;Minimum TTL
    )
    @                       IN NS   ns1.demo.local.
    ns1                     IN A    10.224.202.11
    @                       IN A    10.224.202.11
    ns2                     IN A    10.224.202.12
    


    เซฟ และปิดครับ
  • แก้ไฟล์ r.demo.local เลยครับ

    # vi /var/named/r.demo.local

    ตามด้านล่างนี้เลยครับ

    $TTL    86400
    @       IN      SOA     ns1.demo.local.        root.demo.local. (
                    2014082002      ;Serial
                    3600            ;Refresh
                    1800            ;Retry
                    604800          ;Expire
                    86400           ;Minimum TTL
    )
    @       IN NS   ns1.demo.local.
    ns1     IN A    10.224.202.11
    11      IN PTR  ns1.demo.local
    ns2     IN A    10.224.202.12
    12      IN PTR  ns2.demo.local
    


    เซฟและปิดครับ
  • จากนั้นคอนฟิกที่ตัว secondary ครับ

    # vi /etc/named.conf


    options {
    listen-on port 53 { 127.0.0.1; 10.224.202.11;}; #ip master server
    listen-on-v6 port 53 { ::1; };
    directory       "/var/named";
    dump-file       "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { localhost; 10.224.202.0/24;}; #IP Range client
            recursion yes;
            dnssec-enable yes;
            dnssec-validation yes;
            dnssec-lookaside auto;
    
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key";
    
            managed-keys-directory "/var/named/dynamic";
    };
    
    

    จากนั้นประกาศ zone ส่วนของ forward zone ก่อนเลยครับ จะคล้ายกันครับต่างกันเล็กน้อย

    zone "demo,local" IN {
            type slave;
            file "slaves/f.demo.local";
            allow-transfer { 10.224.202.12/24; }; #IP slave server
            masters { 10.224.202.11; };   #master ipaddr
    };
    
    

    จากนั้นก็ reverse zone ครับ

    zone "202.224.10.in-addr.arpa" IN {
            type slave;
            file "slaves/r.demo.local";
            allow-transfer { 10.224.202.12/24; };
            masters { 10.224.202.11; };
    };
    


    เซฟและออกครับ
    ส่วนไฟล์ f.demo.local และ r.demo.local ไม่ต้องคอนฟิกครับ เดี๋ยวมันจะทำการ sync กันเองครับ
  • จากนั้นก็ไปแก้ไขไฟล์ /etc/resolv ของทั้งสองตัวเลยครับ

    # vi /etc/resolv.conf
    


    ให้ลบบรรทัดอื่นให้หมด และใส่แค่

    nameserver     127.0.0.1
    
  • จากนั้นก็ start service โลดเลยครับ

    # service named start

    หรือ
    # /etc/init.d/named start
    
  • จากนั้นก็ทดสอบครับ

    # nslookup ns1.demo.local
    


    ต้องได้ประมาณ
    Server:         127.0.0.1
    Address:        127.0.0.1#53
    
    Name:   ns1.demo.local
    Address: 10.224.202.11
    
    # nslookup ns2.demo.local
    
    Server:         127.0.0.1
    Address:        127.0.0.1#53
    
    Name:   ns2.demo.local
    Address: 10.224.202.12
    
  • หรือจะตรวจสอบจากการเช็ค serial ก็ได้ครับ

    # dig demo.local +nssearch | cut -d ' ' -f 4 | sort | uniq -c
    
    ผลลัพธ์ประมาณนี้ครับ

    1 2014082002


    ถ้าตรงกันทั้งสองฝั่งก็ใช้ได้ครับ
เป็นไงบ้างครับ ไม่ยากเกินไปใช่มั้ยครับ หวังว่าจะมีประโยชน์นะครับ สวัสดีครับ

Saturday, August 16, 2014

สิ่งที่ควรทำหลังจาก clone vm linux(CentOS) guest

การที่เราโคลน vm สักตัวมาใช้ จะช่วยลดระยะเวลาในการติดตั้ง OS ได้มากเลยทีเดียวนะครับ แต่เมื่อโคลนเสร็จแล้วเราต้องทำอะไรบ้างล่ะ เรามาดูกันดีกว่าครับ

  1. แก้ชื่อเครื่อง
    # vi /etc/sysconfig/network

    แก้ไขตรง

    HOSTNAME=[New_Hostname]
  2. แก้ไขไฟล์ hosts
    # vi /etc/hosts

    ใส่ xx.xx.xx.xx(ip address ใหม่)     hostname(ใหม่)
    ส่วนอันเก่าก็ลบได้เลยครับถ้าไม่ได้ใช้
  3. แก้ mac address
    # vi /tc/udev/rules.d/70-persistent-net.rules

    ลบ mac address ที่ไม่ใช่ตัวปัจจุบัน
    ** เช็คได้จาก vm->edit setting->network adapter แล้วดูตรง mac address ครับว่าตรงกับอันไหน ก็ลบอันอื่นทิ้งครับ
  4. แก้ IP Address ครับ
    # vi /etc/sysconfig/network-scripts/ifcfg-eth(n)

    แก้ตรง

    IPADDR=
    NETMASK=
    GATEWAY=
เพียงเท่านี้ vm guest ตัวนี้ก็พร้อมใช้งานแล้วครับ

Monday, August 11, 2014

การสร้าง Standard virtual Switch บน vSphere client

หลังจากที่เรารู้จักกับ Standard virtual switch และ distributed virtual switch กันแล้ว คราวนี้เรามาสร้าง standard virtual switch กันเลยดีกว่าครับ
  • เปิด vsphere client และ log in ที่ esx host


  • คลิกที่ host ที่ต้องการ -> configuration -> networking -> add networking


  • เลือก virtual machine หรือ vm kernel ซึ่งความแตกต่างก็อยู่ในบทความที่แล้วนะครับ จากนั้นกด next ครับ


  • เลือก vmnic ที่ต้องการครับ เอาที่ up นะครับ แต่ในที่นี้ผมมีที่ up อยู่แค่พอร์ตเดียวและไม่อยากไปยุ่งครับก็ทดลองให้ดูละกันครับ จากนั้นก็กด Next โลดเลยครับ


  • ตั้งชื่อและ vlan ครับ จากนั้นก็ Next เลยครับ


  • กด finish ได้เลยครับ


  • เพียงเท่านี้เราก็ได้ standard virtual switch มาใช้งานแล้วครับ ง่ายๆเลยครับ


สำหรับครั้งนี้ก็จบลงเพียงเท่านี้้ครับ ครั้งหน้าจะมาสอนแบบ vmkernel นะครับ รอติดตามกันได้ครับ

Sunday, August 3, 2014

Standard virtual switch และ Distributed virtual switch

Virtual switch คืออะไร
จากที่คราวก่อนๆหน้านี้ เราได้พาตัวเองเข้าสู่โลกเสมือนกันมาครึ่งค่อนตัวแล้ว ดังนั้นคราวนี้เรามารู้จักอุปกรณ์เครือข่ายที่ทุกคนน่าจะรู้จักกันอยู่แล้วนะครับ นั่นก็คือ switch นั่นเอง แต่มันจะไม่ได้มาในรูปแบบที่เราจับต้องมันได้ แต่จะมาในรูปแบบของสวิทช์เสมือน (virtual switch) - - สวิทช์ธรรมดาก็ยุ่งพอแล้ว นี่ยังมาจำลองอีก แต่ข่าวดีก็คือ เราไม่ต้องใช้ command ในการตั้งค่าในส่วนนี้นะครับ แต่ข่าวร้ายก็คือ เราต้องไปตั้งค่าสวิทช์จริงๆให้ทำงานสัทพันธ์กันด้วย เอาล่ะครับ เรามารู้จักเจ้าสวิทช์เสมือนกันเลยดีกว่าครับ

virtual switch ใน vmware คือการใช้ซอฟท์แวร์จำลองการทำงานของ Layer 2 switch ครับ
virtual switch จะทำหน้าที่เป็นส่วนที่ทำให้ service ของ network ของ vm ทำงานตามที่เราต้องการครับ ซึ่่ง service ต่างๆ ก็จะมีอยู่ 3  แบบครับ
  1. Virtual Machine ใช้ Connect กันระหว่าง Virtual Machine กับ Physical Network หรือ ใช้คุยกันเองระหว่าง Virtual Machine
  2. VMKernel ใช้สำหรับติดต่อ Storage เช่น NFS, iSCSI หรือใช้สำหรับ VMware VMotion
  3. Service Console ใช้สำหรับ Manage ตัว ESX/ESXi หรือเรียกง่าย ๆ ว่า เป็น IP Address ของ Host ซึ่งจะถูกติดตั้งมาเป็น default เมื่อติดตั้ง ซึ่งก็จะชื่อ management network ที่เราเห็นๆกันนั่นเองครับ
ต่อมาก็มารู้จักกับ virtual switch แบบต่างๆกันต่อนะครับ
  1. virtual Standard switch เป็น virtual switch ที่สามารถคอนฟิกได้ใน esxi mode
  2. virtual Distributed switch เป็น virtual switch ที่ต้องคอนฟิกผ่าน vCenter เท่านั้น
การทำงานของ switch แบบต่างๆ
  • vStandard switch มีความสามารถในการทำงานเหมือนสวิทช์เลเยอร์2 ทั่วไป ดังภาพด้านล่าง

    vStandard switch
    ขอขอบคุณภาพจาก www.vmware.com
    ซึ่งจะอธิบาย concept คร่าวๆตามภาพได้ดังนี้ครับ
    - เราสามารถมี vNIC (Virtual Network Interface) ได้หลายตัวต่อ "ESXi host" ครับ
    - Operating system และ Application จะคุยกันผ่าน vNIC โดยใช้ device driver ซึ่ง vNIC จะ map กับ Physical NIC ไปยัง Network ข้างนอกได้
    - แต่ละ vNIC มี MAC Address ที่ generate ขึ้นมาและทำงานใน Network Layer 2
    - อีกหนึ่งข้างของ Virtual Switch จะเป็น Port Group ใช้ติดต่อ Virtual Machine โดยใช้ Uplink สู่ภายนอก
     virtual standard switch จะทำงานในแต่ละ host ดังนั้นเราจึงต้องคอนฟิกตามแต่ละ host และต้องทำทุกตัว
  • vDistributed switch จะเหมือนทำงานคล้ายกับ vSS เพียงแต่ทำงานได้ในระดับ datacenter จึงมี feature อำนวยความสะดวกเพิ่มมากขึ้น

    vDistributed switch
    ขอขอบคุณภาพจาก www.vmware.com
    - สามารถมี vNIC ตั้งแต่หนึ่งตัวหรือมากกว่า ต่อ 1 "Datacenter" ก็คือ Manage virtual switch ที่ vCenter Server ที่เดียว แล้ว apply ไปยัง Hosts ต่าง ๆ ซึ่งทุกๆ host จะเห็นเหมือนกัน
    - ใช้ IO Plane (hidden vSwitch) เป็นตัวควบคุม IO ของ Hardware และทำการ Forward Package
    - สามารถ Migrate Standard Switch ที่มีอยู่เป็น Distributed Switch ได้
    - ลดระยะเวลาในการติดต่อได้ถึง 20 - 25 %
    - สามารถทำ Traffic shaping ได้ทั้ง Inbound และ Outbound (vSS ทำได้แค่ Outbound)
    - รองรับ Third Party ต่าง ๆ ได้

    ตารางคุณสมบัติของ vDS และ VSS
    ขอขอบคุณภาพจาก www.vmware.com
  • ตารางเปรียบเทียบระหว่าง vDS และ vSS ครับ




นี่ก็เป็นข้อมูลเล็กน้อยนะครับสำหรับสวิทช์เสมือนจากค่าย VMware ส่วนการเลือกใช้อันนี้ก็แล้วแต่การออกแบบและความเหมาะสมของแต่ละที่นะครับ เพราะทางสายนี้มันไม่มีตายตัวครับ ยังไงก็หวังว่าบทความนี้จะเป็นประโยชน์นะครับ

เครดิต : www.vmware.com            : www.compspot.net/index.php?option=com_content&task=view&id=366&Itemid=72

Saturday, August 2, 2014

การสร้าง VM template และการ deploy template ด้วย VMware vsphere web client

VM Template คืออะไร vm template ก็คือ แม่แบบเสมือน ที่จะทำเครื่องจักรกลเสมือนมาไว้เป็นแม่แบบได้ ซึ่งมีประโยชน์มากสำหรับการทำโปรเจคเล็กใหญ่ที่จำเป็นต้องสร้างเครื่องจักรกลเสมือนหลายๆตัว ซึ่งแต่ละตัวใช้ระบบปฏิบัติการเดียวกัน ครั้นจะมานั่งติดตั้งทีละตัวก็ใช่ที่ จะโคลนใหม่ก็ช้า วันนี้เรามาเรียนรู้วิธีอีกวิธีหนึ่งกันเลยดีกว่าครับ

การสร้างแม่แบบเสมือนด้วยการ clone to template

  • ที่หน้า vSphere web client ดูที่หัวข้อ inventory แล้วเลือก vm and template ครับ



  • คลิกขวาที่ vm ที่เราต้องการนำมาทำเป็น template แล้วเลือก Clone to template.. ครับ


  • จากนั้นจะมี pop up ขึ้นมาครับ
    ให้เราทำการตั้งชื่อ template และเลือก datacenter ครับ


  • เลือก host(ESXi) ครับ


  • เลือก Datastore และ Disk Provision ครับ


  • ตรวจสอบความถูกต้อง และกด finish ได้เลยครับ


เพียงเท่านี้เราก็ได้ VM template มาไว้ใช้งานแล้วนะครับ ต่อไปก็มาถึงขั้นตอนการนำมันมาใช้กันดีกว่าครับ

การ deploy VM template นะครับเริ่มที่

  1. ในหน้า VM and Template คลิกขวาที่ template ที่ต้องการ แล้วเลือก deploy vm from this template... ครับ


  2. ตั้งชื่อให้กับ VM และเลือก datacenter ครับ


  3. เลือก host ที่ต้องการให้ทำหน้าที่ run vm ครับ


  4. เลือก datastore ที่ต้องการใช้เก็บไฟล์ของ vm ครับ


  5. จากนั้นถ้าต้องการแก้ไข VM hardware ให้ติ๊กถูกที่ customize this virtual machine hardware แล้วกด next ครับ ถ้าไม่ต้องการแก้ไขก็ไม่ต้องติ๊กถูกและกด next และข้ามไปข้อ 7 ได้เลยครับ


  6. ทำการปรับแต่ง vm ตามต้องการ


  7. ตรวจสอบความถูกต้อง และกด finish ได้เลยครับ


  8. สังเกตทางขวามือนะครับ จะมี job run อยู่


เพียงเท่านี้ก็จะได้ vm ใหม่ไว้ใช้งานโดยไม่ต้องมานั่งติดตั้ง OS ใหม่ที่ละตัวๆแล้วครับอยากได้กี่ตัวก็ deploy เอาเลยครับ สำหรับบทความนี้ก็ขอจบเพียงเท่านี้ละกันนะครับ มีอะไรสงสัย หรืออยากพูดคุยก็ติดต่อมาได้เลยนะครับ

Saturday, July 26, 2014

การ Export และการ deploy VM แบบ OVF,OVA

ไฟล์ .OVF คืออะไร?
ไฟล์ .OVF คือ ไฟล์นามสกุล open virtualization format
ไฟล์ .OVF คือ มาตรฐาน แบบ Distributed Management Task Force (DMTF) ที่ช่วยให้ Virtual Machine หรือ Virtual Appliance สามารถ Import และ Export ได้ด้วยระยะเวลาอันสั้น พูดง่ายๆ มันคือการที่ใช้ในการ Copy OS อีกวิธีหนึ่งนั่นเอง และตอน import ยังสามารถปรับแต่งค่าได้โดยสามารถใช้งานได้เลยอีกด้วย
ส่วนไฟล์ .OVA คือ open Vvirtualization appliance ครับ ไฟล์นี้จะรวมเอาไฟล์ที่ตอนเรา Export เป็น ovf อยู่ในไฟล์เดียว ก็คือรวมเอาไฟล์ .ovf , ไฟล์ .mf(check sha1 sum), ไฟล์ .vmdk ไว้ครับ

ทีนี้มาเริ่มขั้นตอนในการ Export VM ออกมาเป็น OVF กันเลยดีกว่าครับ
  • เลือก VM ที่ต้องการ อ่อ การ Export เป็น OVF ต้องทำตอน power off อยู่นะครับ จากนั้น คลิก file -> Export -> Export OVF Templete

  • จากนั้นจะมีหน้าต่างขึ้นมา ตรงหัวข้อ directory ให้คลิก ...

  • จากนั้นเลือกที่อยู่ที่ต้องการเก็บไฟล์ครับ เมื่อได้แล้วจะกลับมาที่หน้าเดิม คลิก OK ครับ

  • จากนั้นก็รอจนเสร็จครับ

ขั้นตอนการ Export ก็มีเพียงเท่านี้ครับ
ต่อปไปเรามาดูขั้นตอนการ Deploy กันต่อนะครับ
  • เลือก file -> Deploy OVF Templete จากนั้นในหน้าต่างที่เด้งขึ้นมา ให้เลือก browe ครับ

  • เลือกไฟล์ที่ต้องการครับ **เป็น .ovf หรือ .ova ก็ได้ครับ

  • คลิก next ครับ

  • หน้านี้จะแสดงข้อมูลของ templete ครับ คลิก next

  • ตั้งชื่อให้ VM ครับแล้วคลิก next

  • เลือก Disk provision ตามที่ต้องการแล้วคลิก next ครับ

  • จับคู่ virtual network interface card กับ virtual switch ครับ

  • ตรวจสอบการตั้งค่าถ้าตรงตามต้องการก็คลิก finish โลดเลยครับ

  • จากนั้นก็จิบกาแฟ ฟังเพลงรอครับ

มีขั้นตอนเพียงเท่านี้เองครับสำหรับการ Export และ Deploy virtual machine ขอให้สนุกกับโลกเสมือนนะครับ 555