9 December 2016

How To connect the Terminal Server despite the limited connections


กรณีที่เจอ Message Box บน M$ Server

"The terminal server has exceeded the maximum number of allowed connections"



เปิด CMD ขึ้นมาครับ แล้วจัดคำสั่ง

mstsc /v:IP-Address-Server /admin




.............................

1 November 2016

How to BPDU Guard feature on VMware ESXi

       เหตุจากผมไปเจอ Logging ที่เกี่ยวเนื่องกับ  Root guard blocking บน Switch ที่เชื่อมต่ออยู่กับ VMware ESXi Host ผมว่ามันแปลกๆ นะ อาจจะมี VM ตัวไหนมีการ Fake BPDU ออกมาหรือเปล่า? ทำให้ตัว Physical Switch ทำการ Block port หรือ vlan path นั้นๆ

        ลองหาอ่านๆ ดูก็เจอว่า ESXi มีฟังชั่นในการ Blocking BPDU Message อยู่ชื่อ Net.BlockGuestBPDU แต่ตัว ESXi บาง version จะ Disable by Default ซึ่งวิธีการเปิด ก็เข้าไปที่ vsphere Client จากนั้นเลือกตัว ESXi Host > Configuration > Adanaced Settings > Net แล้วก็เปลี่ยนค่า  Net.BlockGuestBPDU เป็น 1 ดังรูปข้างล่าง



อ่านข้อมูลเพิ่มเติมครับ

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2047822

http://blogs.vmware.com/vsphere/2012/11/vsphere-5-1-vds-new-features-bpdu-filter.html

http://rickardnobel.se/esxi-5-1-bdpu-guard/

17 October 2016

How To Convert a Physical Linux Server to Virtual Machine with VMware vCenter Converter Standalone (P2V)


        พอดีมีโอกาส ต้องทำการ ย้าย Physical Linux Server ที่ตัวเองทำไว้เมื่อประมาณ 2 ปีแล้ว ยังไม่ตาย แต่ Hardware หมด MA แล้ว ไปไว้ที่ ESXi Server (Hypervisor) ซึ่งต้องเป็น Virtual Machine นะครับ

หมายเหตุ: ผมลองกับ Production จริงๆ แล้วครับ 

Physical Server เป็น CentOS 6.6 64bit
ส่วน ESXi เป็น 5.5 นะ

เนื่องจาก ตัวที่จะย้ายไปเป็น VMware ESXi สบายหน่อยมี Tools ให้ใช้อยู่แว้ว Free ด้วย ไป Download ตาม Link นะ (ต้องใช้ Account นะครับ)
Download VMware vCenter Converter Standalone for P2V Conversion

จากนั้นก็ทำการติดตั้ง VMware vCenter Converter Standalone ลงบนเครื่อง Notebook หรือ PC เราครับ

1.  เปิดโปรแกรม VMware vCenter Converter Standalone ขึ้นมาแล้ว เลือก Convert machine



How To Rate Limit Download Speed and Throttling for Apache HTTP with mod_ratelimit


ประเด็นคือผมอยาก Limit Speed ของการ Download ไฟล์บน Apache HTTP โดยใช้ Mod RateLimit

ข้อมูลเพิ่มเติม
http://httpd.apache.org/docs/trunk/mod/mod_ratelimit.html

1. ทำการ Enable mod ratelimit บน Apache (HTTP)
a2enmod ratelimit
2. ทำการ Configuration ระบุในส่วนของ URL ที่ต้องการ Limit Speed Download
vi /etc/apache2/conf-available/ratelimit.conf


3. ทำการ Enable Configure
a2enconf ratelimit
4. ทำการ Restart Apache
service apache2 restart

5. ทดสอบ Download file ขนาด 1.3GB ทั้ง Limite 500Kbps และ Unlimite ในการ Download Speed จาก Browser



เรียบร้อยแล้วครับ


How To Configure Username and Password Authentication with Apache HTTP


เนื่องจากผมต้องการ Share file บน HTTP Server (Apache2) โดยอยากให้มี User และ password

1. ทำการ update repo และติดตั้ง apache2 , apache2-utils เพิ่มเติม
root@linux:~#sudo apt-get update
root@linux:~#sudo apt-get install apache2 apache2-utils -y

2. ทำการสร้าง Account สำหรับเข้าใช้งาน
root@linux:~# htpasswd -c /etc/apache2/.htpasswd user-share
New password:
Re-type new password:
Adding password for user user-share
root@linux:~#

3. ทำการ Configure Site บน Apache2 สำหรับการเข้าใช้งาน
root@linux:~# vi /etc/apache2/sites-enabled/000-default.conf



4. ทำการ Restart Apache2
root@linux:~#/etc/init.d/apache2 restart
 * Restarting web server apache2                                                                                                         [ OK ]
root@linux:~#

5. จากนั้นลองเรียก URL path ที่ทำการ Configure ข้างต้นและใส่ user และ password ที่ได้ตั้งไว้ครับ





เสร็จเรียบร้อยครับ


URL Refer:
https://www.digitalocean.com/community/tutorials/how-to-set-up-password-authentication-with-apache-on-ubuntu-14-04

16 September 2016

Run command 'docker-compose up -d' see ERROR: In file './docker-compose.yml' service 'version'


Run Command:
# docker-compose up -d

ERROR Message :
ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.
Check list:
# docker-compose --version
docker-compose version 1.5.2, build unknown
Fixed Issue:
# curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
and Run docker-compose again.

URL Refer:

https://github.com/docker/compose/issues/2863

https://github.com/docker/compose/releases

24 August 2016

How to Learn KVM-QEMU QCOW2 QEMU-IMG and Snapshots Tools


         ถ้ากล่าวถึงเรื่อง Virtualization หรือ Cloud คนมักจะนึกถึง Virtual Machine (VM) โดยพวก VM เหล่านี้ทุกสิ่งที่อย่างจะเป็น ของปลอมหรือของจำลองทั้งหมด
       
         QCOW2 virtual disk format เป็นตัวที่น่าสนใจเป็นอย่างมากๆ Advanced feature จะใช้ผ่าน QEMU image tools พวกการสร้าง virtual disk หรือการสร้าง Snapshots บน Image (virtual disk) เป็นต้น


เบื้องต้นเริ่มลองใช้คำสั่งกันเลย

1. คำสั่ง Dump information เกี่ยวกับ image file.

Command Format:
qemu-img info {image-name}

image-name คือ ชื่อของ virtual-disk
Example Command:
root@ubuntu#qemu-img info hda.qcow2
image: hda.qcow2
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 2.3G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
root@ubuntu# du -sh *
2.4G    hda.qcow2
root@ubuntu#

2. คำสั่งสร้างไฟล์ QCOW2 image

Command Format:
qemu-img create -f qcow2 {image-name}  {max-storage}

image-name คือ ชื่อของ virtual-disk ที่จะสร้าง
max-storage คือ ขนาดที่ใหญ่ที่สุดที่สร้างใช้งานได้ของ virtual-disk ที่จะสร้างมา

11 August 2016

How To Adding and Run Docker Container on UnetLab


   บทความนี้ เราจะมาเล่น Docker บน UNetLab กัน เพื่อสร้างไอเดียร์ในการประกอบกิจกรรมต่างๆ

1. ทำการเปิด UNetLab VM ขึ้นมา เสร็จแล้วทำการ SSH Remote ไปที่ IP Address ของ UNetLab VM ดังรูป

Login UNetLab Shell

2. ทำการติดตั้ง Docker บน UNetLab VM

wget -q -O- https://get.docker.com/ | bash

Install Docker on UNetLab

3.  หลังจากติดตั้งเสร็จแล้ว ทำการแก้ไขไฟล์ /etc/default/docker และเพิ่ม Configure ดังนี้

DOCKER_OPTS="-H=tcp://0.0.0.0:4243"

Edit docker configure files

5 August 2016

How To Reset Root Password on RHEL7&CentOS7 with Single User Mode


This case, you forgot password root account or anything, step by step like below:

1. Please Reboot Server, At the boot menu, press e to edit the existing kernel (Core) as shown
Redhat CentOS Grub 2 menu

2. Remove the rhgb quiet and add init=/bin/bash

4 August 2016

How to Install Ceph Storage on CentOS 7.2 64bits


Pre-Setup LAB Ceph Storage Configuration: 

OS:       CentOS7.2 64bits
CPU:    1 Core
RAM:   2GB หรือมากกว่า
NIC:     *2 card   (Storage และ Internet)
HDD:    20GB หรือมากกว่า

Server IP Address:

172.20.1.30 ldp-ceph
172.20.1.31 ceph01
172.20.1.32 ceph02
172.20.1.33 ceph03

1. ทุกเครื่องให้ทำการ Initial Configuration ดังนี้

กำหนดไฟล์ ้hosts
vi /etc/hosts
172.20.1.50 ldp-ceph ldp-ceph.example.me
172.20.1.51 node01 node01.example.me
172.20.1.52 node02 node02.example.me
172.20.1.53 node03 node03.example.me

เพิ่ม admin user ceph
useradd -d /home/cephuser -m ceph-admin
echo -e "ceph-admin\nceph-admin\n" | passwd ceph-admin
echo "ceph-admin ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph-admin
chmod 0440 /etc/sudoers.d/ceph-admin
echo -e 'Defaults:ceph-admin !requiretty\nceph-admin ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph-admin
chmod 440 /etc/sudoers.d/ceph-admin

Enable Nested (Intel VT-x or AMD-V) Virtualization for Virtual Machine on VMware ESXi

เป็นการเปิด VT ให้กับ Virtual Machine บน VMware ESXi Host ครับ กรณีที่เราต้องเอา Guest Virtual Machine ไปทำ Virtual Machine บน Guest VM อีกที หลายชั้นเลย ^^

มีสองทางเลือก

1. file .vmx of Virtual Machine, add line:
vhv.enable = "true" 

2. add vhv.allow = "TRUE"  to /etc/vmware/config of your Physical ESXi host:
vhv.enable = "true" 

1 August 2016

[ISSUE] Failed to allocate the network(s), not rescheduling, Spawning new instances is fail OpenStack


Problem : 

When trying to Create new instances on OpenStack is fail.

Error Message:

Failed to allocate the network(s), not rescheduling.

Fixed and Solution: 


vi /etc/nova/nova.conf

#Fail instance boot if vif plugging fails
vif_plugging_is_fatal = False

#Number of seconds to wait for neutron vif
vif_plugging_timeout = 0

Referent URL:

https://ask.openstack.org/en/question/54531/failed-to-allocate-the-networks-not-rescheduling/
https://ask.openstack.org/en/question/26938/virtualinterfacecreateexception-virtual-interface-creation-failed/
https://ask.openstack.org/en/question/57342/spawning-new-instances-fails-to-allocate-the-network/

23 July 2016

Change Name Network Interface on CentOS 7

วิธีการเปลี่ยนชื่อ Network Interface บน CentOS 7 นะคับ

เริ่มจากปัญหาก่อน CentOS version 7 นั้นไซร้ ชื่อ Network Interface แลดูจำอยากจุง ดูจากข้างล่างครับ

[root@localhost ~]# ip link
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAU                                 LT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777736:  mtu 1500 qdisc pfifo_fast st                                 ate UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:f4:fc:ef brd ff:ff:ff:ff:ff:ff
3: eno33554960:  mtu 1500 qdisc pfifo_fast st                                 ate UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:f4:fc:f9 brd ff:ff:ff:ff:ff:ff
4: eno50332184:  mtu 1500 qdisc pfifo_fast st                                 ate UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:f4:fc:03 brd ff:ff:ff:ff:ff:ff
[root@localhost ~]#

1. ให้ทำการแก้ Grub Configure โดยการเพิ่ม "net.ifnames=0 biosdevname=0" เพื่อปิดการทำงานของโปรแกรม เข้าไปแล้ว จากนั้นทำการ Regenerate GRUB Configuration

 vi /etc/default/grub
[root@localhost ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
[root@localhost ~]#
[root@localhost ~]#  grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-c03712fe3ce846b192279eaaa8531bc0
Found initrd image: /boot/initramfs-0-rescue-c03712fe3ce846b192279eaaa8531bc0.img
done
[root@localhost ~]#

5 July 2016

OpenStack Mitaka All-in-one with PackStack on CentOS7


        PackStack คือ เครื่องมือไว้สำหรับทำ Proof of Concept Cloud ซึ่งเราสามารถ Deploy OpenStack ใน Node เดียวได้แบบ All In One หรือจะแยก Compute Node และ Network Node ออกมา ก็ได้แบบง่ายๆ

เน้นย้ำว่า Proof of Concept (POC) Cloud Computing นะแบบง่ายๆ

อ่านเพิ่มเติม https://www.rdoproject.org/install/quickstart/

ลงมือ Configuration และทำการ Installation ครับ

Configure Hostname
[root@controller01 ~]# cat /etc/hosts
127.0.0.1      localhost   localhost.localdomain
192.168.1.10 controller01 controller01.example.com
[root@controller01 ~]# 
[root@controller01 ~]# hostnamectl
   Static hostname: controller01.example.com
-------------------- hidden output--------------------------------------
      Architecture: x86-64
[root@controller01 ~]#

Disable NetworkManager and SELinux Services
[root@controller01 ~]# systemctl stop NetworkManager
[root@controller01 ~]# systemctl disable NetworkManager
[root@controller01 ~]# setenforce 0
[root@controller01 ~]# sed -i 's/enforcing/permissive/' /etc/selinux/config

Static IP Address
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
NAME="eth1"
DEVICE="eth1"
ONBOOT="yes"

Setup RDO repositories
[root@controller01 ~]# yum -y install centos-release-openstack-mitaka epel-release

4 July 2016

ISSUE CentOS 7 Minimal does not detect any network devices on VMware Workstation

จากที่ทำการติดตั้ง CentOS 7 เสร็จแล้ว ผมทำการ Add NIC Card เพิ่มบน VM แล้ว Boot OS เข้าไป ไม่เจอ Interface Network ตัวใหม่ มันหายไปไส?

1. ลองใช้ Command ดู Network Interface

ip link show



2. ลองดู PCI แล้วจะเห็นว่า Device เป็น AMD นะจ๊ะ

lspci -k


21 June 2016

How To Expand Disk (HDD) for UNetLab VM


จากความเดิมตอนที่แล้ว
           First Times Import Unified Networking Lab (UNetLab) OVA in VMware Workstation

          ที่นี้เราอยากเพิ่มพื้นที่บน UNetLab VM

*** ถ้าคุณใช้งาน EVE-NG VM ไม่จำเป็นต้องเพิ่มแบบ Manual แล้วครับ มันมี AutoScript เพิ่ม Disk ให้เองครับ ตามนี้ครับ ****
www.thaiops.com/2017/03/12/how-to-auto-expan-disk-hdd-for-eve-ng/

          ทำความเข้าใจกันก่อน UNetLab VM  มันอยู่บน Ubuntu 14.04 64bits นะจ๊ะ ซึ่ง Disk ที่เค้าแบ่งดังเดิมเป็นดังรูปครับ

Disk UNetLab (เดิม)

จากรูปข้างบน เรากำลังจะขยายในส่วนของ Mount point ที่ Path / เลย ซึ่งมันเป็น LVM อยู่นะจ๊ะ

ถ้าถามว่า  LVM คืออะไร ?
https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)

12 June 2016

VMware Workstation Network in-depth

       VMware Workstation เป็นโปรแกรมจำลอง Virtual Machine  แบบ Hosted Architecture ซึ่งจะเหมือนกัน Oracle Virtual box ที่ปกติจะติดตั้งบน Host OS พวก M$ Windows, Linux หรือจะ Mac ก็ตาม


อ้างอิงข้อมูล https://www.vmware.com/pdf/virtualization.pdf

Host OS หมายถึง OS พวก M$ Windows 8 หรือ 10, Linux Desktop, Mac OS ที่ติดตั้งแบบ Bare Metal (OS เป็นเจ้าของ Hardware ตรงๆ ไม่มี Hypervisor มากั้นระหว่างกลาง)

VM Guest หมายถึง Virtual Machine หรือบางคนเรียกว่า Guest OS ที่ Run อยู่บน Host OS อีกที โดยจะมี Hypervisor เป็นตัวจัดการ Hardware มาให้อีกที


1. Host-Only Network คือต้องการเชื่อมต่อ VM เฉพาะภายในกับ Host OS เท่านั้น

*** เครื่อง Host OS จะเชื่อมต่อผ่าน Network Adapter VMnet1 ***



10 June 2016

First Times Import Unified Networking Lab (UNetLab) OVA in VMware Workstation


ไป Download OVA UNetLab มาครับ ตาม Link ด้านล่าง
http://www.unetlab.com/download/index.html

1. เปิด โปรแกรม VMware Workstation แล้วเลือกไปที่ File > Open



2. เลือก OVA UNetLab ที่ Download มา จากนั้นกด Open



24 May 2016

Download and Install pfSense 2.3 Firewall Open Source

1. ไป Dowload ISO ของ pfSense Firewall version ล่าสุดมาครับ



2. ทำการ Burn CD เตรียมสำหรับ Install หรือใช้ USB Boot Install ก็ได้ครับ

3. เมื่อ Boot มาถึงตรงนี้ ให้ทำการ Enter ครับ


3 May 2016

การติดตั้ง Linux หรือ Windows 10, 8.1, 7 ผ่าน USB Flash Drive ด้วย LinuxLive USB Creator

     LinuxLive USB Creator เป็นโปรแกรมที่ทำให้ USB Drive เป็นตัว Boot สำหรับ ติดตั้ง OS ต่างๆ ไม่ว่าจะเป็น Windows 10, 20 ,30 ถ้ามี และพวก Linux Ubuntu CentOS หรือบลา บลาๆ ตามนั้น

#ส่วนตัวเลิกติดตั้ง OS ผ่าน CD/DVD หรือ Foppy disk ไปนานแล้ว ถ้าไม่จำเป็นจริงๆ

ขั้นแรกไป Download Program  LinuxLive USB Creator มาก่อนครับ

http://www.linuxliveusb.com/en/download



2 May 2016

Download OS and Installation Ubuntu Server 16.04 LTS


1. ไป Download Ubuntu Server 16.04 LTS ที่เว็บ Ubuntu  http://www.ubuntu.com/download/server

      หรือ Download Direct Link : http://releases.ubuntu.com/16.04/ubuntu-16.04-server-amd64.iso

2. เมื่อ Download Ubuntu Server 16.04 LTS เสร็จแล้ว ให้ทำการ Burn DVD หรือทำ USB Drive ให้สามารถ ใช้ในการติดตั้งบน  Physical หรือ ถ้าจะติดตั้งทดสอบบน Virtual Machine (VM) ก็สามารถ Mount ไฟล์ iso ได้ตรงๆ เลย

3. ทำการ Boot Ubuntu Server 16.04 LTS ให้เลือก English



การติดตั้ง Microsoft Windows 7/8/8.1/10 ผ่าน USB Flash Drive หรือ DVD ด้วย Windows USB/DVD Download Tool



0. ให้ทำการ Download  Windows USB DVD Download Tool

1. Double Click เพื่อทำการติดตั้ง Windows USB DVD Download Tool  


2. เลือก Next 


27 April 2016

Enable Private browsing Mode in Browsers.


                การเปิด Private mode ของเว็บ Browser ต่างๆ
ซึ่ง Private mode มันดียังไง?  เนื่องมาจากใช้งานเว็บ Browser โดยทั่วไปแล้ว จะมีการจดจำค่าต่างๆ ที่ผู้ใช้งานได้ Activity ต่างๆ บนตัว Browser ไม่ว่าจะเป็น การจำ History (ประวัติการเข้าชมเว็บไซต์), การเก็บ Session cookie , cache การใช้งานต่างๆ เพื่อความสะดวกสำหรับผู้ใช้ แต่มันเป็นเหมือนดาบสองคม ถ้าเราไม่รู้จักบริหารจัดการข้อมูลที่เราใช้งาน ซึ่งข้อมูลต่างๆ เหล่านี้จะสามารถนำไปใช้ประโยชน์หรือให้โทษ อื่นๆ อีกมากมาย ถ้าผู้อื่นได้รู้พฤติกรรมการใช้งานของเรา คุณคิดดูว่าจะเกิดอะไรขึ้นบ้างถ้าคนเหล่านั้นคิดไม่ดีกับเรานะครับ   ทางผู้ผลิต Browser จึงได้ ทำ Private Mode ติดมากับ Browser เพื่อให้เราสามารถกำจัดข้อมูลในส่วนนี้ได้สะดวกขึ้น

                Private Mode เป็นส่วนหนึ่งในการช่วยป้องกันข้อมูลในเบื้องต้นเท่านั้น ไม่ใช่ทั้งหมดนะครับ

เริ่มจาก Internet Explores (IE)  เข้าไป Safety > InPrivate Browsing หรือกด Ctrl+Shift+P
 

Google Chrome ให้เข้าเมนู เลือก หน้าต่างใหม่และไม่ระบุตัวตน (Ctrl+Shift+N)

How to Create a Hotspot (Wi-Fi) Using the Command Prompt on Windows 7.


เราจะมาสร้าง Hotspot (Wi-Fi) บนเครื่อง Notebook หรือ PC Desktop แบบง่ายๆ ดูภาพ Diagram ในการทดสอบกันก่อน


เริ่มเลยครับ
Step 1 ตรวจสอบ Devices ว่าสามารถสร้าง Hotspot (Wi-Fi) ได้ครับ โดยใช้ Command Line ดังนี้ครับ
            Start > พิมพ์ในช่อง Search "cmd"  แล้วเลือก cmd.exe แล้ว คลิกขวา เลือก Run as administrator ดังภาพ