Month: November 2016

  • Juju #01 – เริ่มต้นใช้งาน Juju

    Juju [1] เป็นเครื่องมือในการการออกแบบ Service Oriented Architecture และ Application Oriented Deployment [2] ทำให้การออกแบบระบบที่ซับซ้อนและการ Scale Out ทำได้ง่ายขึ้น สามารถทำงานได้ตั้งแต่ในเครื่องคอมพิวเตอร์เครื่องเดียว ไปจนถึงการทำงานบน Private Cloud และ Public Cloud

    ตัวอย่างเช่น หากต้องการระบบจัดการ Big Data ด้วย Hadoop ซึ่งประกอบด้วย Server หลายเครื่อง (Link: การติดตั้ง Hadoop อย่างง่าย) เดิมจะต้องใช้เวลาอ่านคู่มือ ทำลองติดตั้ง เมื่อได้ระบบขึ้นมาแล้ว ก็จะยังไม่สามารถใช้งานได้จริงทันที อย่างเช่น ต้องการใช้ Hadoop ในการทำเรื่อง Realtime Syslog Analytics [3] ประกอบด้วย Server จำนวนมาก ดังภาพ

    2559-11-21-10_16_18-realtime-syslog-analytics-_-juju

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

    2559-11-21-15_44_04-program-manager 2559-11-21-15_44_42-program-manager 2559-11-21-15_45_25-program-manager

    หลังจากนั้นก็ทำ Port Forward ด้วยคำสั่ง [4]

    sudo iptables -A PREROUTING -t nat -i ens160 -p tcp –dport 9000 -j DNAT –to 10.107.107.xxx:9000

    ก็จะสามารถใช้งานได้แล้ว

    2559-11-23-13_56_49

     

     

    Reference

    [1] https://jujucharms.com/

    [2] https://jujucharms.com/docs/stable/about-juju

    [3] https://jujucharms.com/realtime-syslog-analytics/

    [4] http://opensource.cc.psu.ac.th/Note_on_port_forwarding_to_LXD_container

  • ตั้งค่า iproute2 ให้ ubuntu server ที่มี 2 interfaces

    ผมมี server สำหรับห้องบริการคอมพิวเตอร์ ที่ทำหน้าที่จ่าย dhcp IP และ cloning Windows และใช้ pGina for Windows ในการ Login ก่อนเข้าใช้เครื่อง

    เริ่มแรก server ก็มีการ์ดแลนเพียง 1 ใบ สำหรับห้องบริการคอมพิวเตอร์ห้องที่ 1 (eth0) ต่อมามีความต้องการให้ห้องบริการคอมพิวเตอร์ห้องที่ 2 ซึ่งจะเป็นอีก network ใช้ server ตัวเดียวกันนี้ด้วย จึงเพิ่มการ์ดแลนอีก 1 ใบ (eth1) ทำให้ตอนนี้มี eth0 และ eth1

    ipmultihomed

    ปัญหาคือ เมื่อ Windows ในห้องคอมฯ ห้องที่ 2 ตั้งค่า pGina RADIUS plugin ชี้ไปยัง IP ของ eth0 (192.168.99.20) ก็ทำงานไม่ได้ แต่ถ้าตั้งค่าชี้ไปยัง IP ของ eth1 (192.168.99.251) อย่างนี้ใช้งานได้ หรือใช้คำสั่ง ping 192.168.99.20 อย่างนี้ก็ไม่ได้ เช่นกัน

    จึงค้นหาคำตอบ google search อยู่หลายวัน มีบทความที่ให้คำตอบใกล้เคียงที่สุด แต่ผมก็ต้องมาแต่ง config ใหม่ จนสำเร็จ โดยหลักใหญ่ ๆ คือ เครื่อง server ที่มีการ์ดแลน 2 การ์ดนี้จะเรียกว่า multi-homed server จำเป็นจะต้องตั้งค่าเพิ่มโดยใช้ iproute2 ซึ่งมีให้แล้วบน ubuntu server ที่ผมทดสอบนี้คือ ubuntu server 16.04 ครับ คือ ปรกติแล้วเครื่อง 1 เครื่อง จะมี default gateway เพียง 1 เท่านั้น เราจะใช้ iproute2 เพื่อแยกให้มี gateway สำหรับ IP ของ eth0 และ eth1 เพิ่มขึ้น

    เรามาดูตัวอย่างกันครับ

    เครื่องที่ทดสอบ มี 2 subnets (อันนี้ที่ต้องใช้ /25 เพราะผมไม่มี net class C ถึง 2 net จึงไปขอความช่วยเหลือทีมเครือข่ายให้ช่วยแบ่งครึ่ง net class C ให้ครับ)
    1. net 192.168.99.0/25
    IP 192.168.99.1 – 192.168.99.126 broadcast 192.168.99.127 gateway 192.168.99.1
    2. net 192.168.99.128/25
    IP 192.168.99.129 – 192.168.99.254 broadcast 192.168.99.255 gateway 192.168.99.129

     

    1. ตรวจสอบ network interfaces ได้ผลลัพธ์ดังนี้

    root@ubuntu:~# ifconfig
    eth0 Link encap:Ethernet HWaddr 00:4d:60:1e:fb:ab
     inet addr:192.168.99.20 Bcast:192.168.99.127 Mask:255.255.255.128
    
    eth1 Link encap:Ethernet HWaddr 00:04:a5:fd:a4:9c
     inet addr:192.168.99.251 Bcast:192.168.99.255 Mask:255.255.255.128
    
    lo Link encap:Local Loopback
     inet addr:127.0.0.1 Mask:255.0.0.0

     

    2. เพิ่ม 2 บรรทัดนี้ต่อท้ายในไฟล์ /etc/iproute2/rt_tables (ผมตั้งชื่อ routing table 1 ว่า rt1 และ routing table 2 ว่า rt2)

    1 rt1
    2 rt2

    ผลลัพธ์ได้ดังนี้

    root@ubuntu:~# cat /etc/iproute2/rt_tables
    #
    # reserved values
    #
    255 local
    254 main
    253 default
    0 unspec
    #
    # local
    #
    #1 inr.ruhep
    1 rt1
    2 rt2

     

    3. เพิ่ม 4 บรรทัดนี้สำหรับ eth0

    post-up ip route add 192.168.99.0/25 dev eth0 src 192.168.99.20 table rt1
    post-up ip route add default via 192.168.99.1 dev eth0 table rt1
    post-up ip rule add from 192.168.99.20/32 table rt1
    post-up ip rule add to 192.168.99.20/32 table rt1

     

    4. และเพิ่ม 4 บรรทัดนี้สำหรับ eth1
    post-up ip route add 192.168.99.128/25 dev eth1 src 192.168.99.251 table rt2
    post-up ip route add default via 192.168.99.129 dev eth1 table rt2
    post-up ip rule add from 192.168.99.251/32 table rt2
    post-up ip rule add to 192.168.99.251/32 table rt2

     

    จากข้อ 3 และ ข้อ 4 ผลลัพธ์ได้ดังนี้

    root@ubuntu:~# cat /etc/network/interfaces
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 192.168.99.20
    netmask 255.255.255.128
    gateway 192.168.99.1
    dns-nameservers 192.100.77.10 192.100.77.11
    post-up ip route add 192.168.99.0/25 dev eth0 src 192.168.99.20 table rt1
    post-up ip route add default via 192.168.99.1 dev eth0 table rt1
    post-up ip rule add from 192.168.99.20/32 table rt1
    post-up ip rule add to 192.168.99.20/32 table rt1
    
    auto eth1
    iface eth1 inet static
    address 192.168.99.251
    netmask 255.255.255.128
    post-up ip route add 192.168.99.128/25 dev eth1 src 192.168.99.251 table rt2
    post-up ip route add default via 192.168.99.129 dev eth1 table rt2
    post-up ip rule add from 192.168.99.251/32 table rt2
    post-up ip rule add to 192.168.99.251/32 table rt2

     

    5. ทำการ restart server
    แค่นี้ครับ

     

    References:

    1. Two Default Gateways on One System

    (URL https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System)
    2. Linux iproute2 multiple default gateways

    (URL https://www.iodigitalsec.com/2014/10/05/linux-iproute2-multiple-default-gateways/)

    3. Number of IP Addresses and Multihoming

    (URL http://www.tcpipguide.com/free/t_NumberofIPAddressesandMultihoming.htm)

  • การใช้โปรแกรม Navicat สำหรับเชื่อมต่อ DataBase

    การ Connect Navicat

    Download : https://drive.google.com/file/d/0B45mg2kqF_HOSTA0UGh4SkVIZ00/view

    1.โยน File ชื่อว่า ntunnel_mysql เข้าไปใน Server ที่ /home/wwwroot
    2. run file ที่เว็บบราว์เซอร์ ด้วย : 192.168.xxx.xxx/ntunnel_mysql หรือ 192.168.xxx.xxx/ntunnel_mysql.php
    3.เข้าไปที่โปรแกรม Navicat
    – General
    – Connection Name = ชื่อ db
    – Host Name / IP Address = ปล่อยว่าง
    – Port = 3306
    – User Name = User ที่เรา Add ใน phpmyadmin
    – Passwd = Passwd ที่เรา Add ใน phpmyadmin

    1
    – HTTP
    – ติ๊กเลือก Use HTTP Tunnel
    – Tunnel URL : http://192.168.xxx.xxx/ntunnel_mysql หรือ http://192.168.xxx.xxx/ntunnel_mysql.php

    2

    4. Test Connect
    5. OK

     

    หมายเหตุ: -ขอบคุณ คุณอาฮาหมัด เจ๊ะดือราแม จาก สถาบันวัฒนธรรมศึกษากัลยาณิวัฒนา

  • บาง plugin ก็ไม่อัปเดตขึ้นตาม WordPress

    plugin ชื่อ member access (member-access.1.1.6.zip) ทำให้ในขณะนี้ไม่สามารถเพิ่มบทความที่ให้เฉพาะสมาชิกอ่านได้เท่านั้น แต่ต้องเปิดเป็น public ได้อย่างเดียว มิฉะนั้นในหน้าแรก (Home) จะไม่เป็นหน้าว่าง ๆ ต้อง login จึงเห็นบทความทุกเรื่องได้

     

     

  • การติดตั้ง Remote Desktop Service สำหรับให้บริการ Windows Application Online

    “อยากให้บริการ Application กลางสักอันเวลาอัพเดตแล้วจะได้ของใหม่พร้อมกันไม่ต้องคอยไล่ลงทีละเครื่อง”

    Remote Desktop Service (Remote Apps) คือ Application ที่รันภายใต้ Remote Desktop แต่ไม่ต้อง Remote เข้าไป แต่เพียงแค่รัน Icon ที่โหลดมากจากหน้า Web ใส่ User Password เท่านั้น ซึ่งสะดวกกว่าการไล่ติดตั้งโปรแกรมทุกเครื่อง แถมอัพเดตทีเดียวได้ Version ใหม่เหมือนกันทุกคน

        * บทความนี้เป็นบทความปิด เพราะเราไม่ได้มีลิขสิทธิ์โดยตรงที่จะใช้งานได้ แต่เป็นการนำไปใช้งานเพื่อการศึกษาเท่านั้น ถ้าจะใช้งานจริงต้องซื้อ Remote Desktop Service License เองครับ (มหาลัยไม่เคยซื้อ Windows License นะครับ ที่ใช้กันอยู่ Microsoft แถมมากับ Windows Desktop และ Office ซึ่งให้มาจำนวนน้อยมาก โดยตั้งแต่ Windows Server 2016 จะไม่มีแล้วครับ) ถ้าจะใช้งาน(เพื่อการศึกษา)สามารถติดต่อสอบถามได้ที่ 2082 หรือ email : support@cc.psu.ac.th

     สิ่งที่ควรทราบก่อนติดตั้ง

    • ต้องทำการติดตั้ง Windows Server 2012 R2 ซึ่งจะไม่รวมอยู่ในบทความนี้ (อนาคตจะเพิ่มบทความติดตั้งให้ครับ)
    • ต้องทำการติดตั้ง Remote Desktop License เพื่อให้สามารถ Remote ได้ไม่จำกัดจำนวนก่อน
    • บริการนี้เครื่อง Server ต้อง Join Domain ก่อน
    • ใช้ PSU Passport ในการเข้าระบบ
    • การเข้าใช้งานเยอะ ๆ จะมีผลต่อ RAM ในเครื่อง Server ที่ใช้งาน (ยิ่งเยอะยิ่งกินแรม)
    • ในกรณีที่รันพร้อมกันหลาย ๆ คน ไม่สามารถแบ่ง CPU ให้เท่ากันได้ จะเป็นในลักษณะการแย่งกันรันตามจำนวน License ของ Application นั้น ๆ เหลือให้รัน (ยกตัวอย่างโปรแกรมซื้อมา License รันได้ 16 Core คนที่รันต่อจะถูกแจ้งเตือนว่า License หมดก็ต้องรอไป)

     ขั้นตอนการติดตั้ง

    • ทำการ Add Role ดังรูป

    2016-11-08_155032

    • เลือกติดตั้ง Remote Desktop Services

    2016-11-09_155828

    • เลือกติดตั้งแบบ Standard

    2016-11-09_155928

    • เลือกสภาพแวดล้อมการใช้งานแบบ Session-based desktop

    2016-11-09_160131

    • จะปรากฎหน้าจอแจ้งว่าจะลงอะไรให้บ้าง และอธิบายว่าแต่ละบริการที่ลงทำงานอะไรบ้าง สรุปสั้น ๆ คือมีตัวรับ Remote Connection, Web สำหรับโหลด Apps คล้าย ๆ Shortcut ไปรัน, และตัวควบคุมเรื่อง Session ในการเชื่อมต่อ

    2016-11-09_160415

    • หน้าจอต่อไปใช้ในการระบุ Remote Desktop Connection Broker ในกรณีที่อยากแยกบริการแต่ละบริการข้างต้นคนละ Server แต่ในที่นี่จะติดตั้งลงที่เครื่องเดียวกันทั้งหมด (Standalone Server)

    2016-11-09_160816

    • หน้าต่างต่อไปให้ติกเลือก Install the RD Web เครื่องเดียวกับ RD Connection Broker Server

    2016-11-09_161019

    • ในส่วนของ Session Host Server ก็ติดตั้งลงบนเครื่องเดียวกัน

    2016-11-09_161233

    • หน้าต่างสุดท้ายจะถูกบังคับให้ติก Restart เครื่องหลังอัตโนมัติถ้าต้องการ

    2016-11-09_161447

    • จากนั้นรอจนกว่าจะติดตั้งเสร็จ

    2016-11-10_032936

     

    • จากนั้นกลับมาดูที่หน้า Server Manger -> Remote Desktop Services -> Overview พบว่ายังต้องติดตั้ง RD Gateway และ RD Licensing เพิ่มเติม

    2016-11-10_033414

    • ทำการติดตั้ง RD Licensing เพิ่มเติมดังรูป จากนั้นกด Next->Add

    2016-11-10_034020

    • รอจนติดตั้งเสร็จ

    2016-11-10_034334

    • จากนั้นติดตั้ง RD Gateway

    2016-11-10_034606

    • จะปรากฎหน้าต่างให้ใส่ชื่อ Server โดยต้องตรงกับชื่อ URL (เปลี่ยนทีหลังได้)

    2016-11-10_0347462016-11-10_034858

    • หลังจากติดตั้งเสร็จยังไม่ได้ตั้งค่า Certificate แต่ทำการตั้งค่าทีเดียวกับบริการอิ่นในข้อถัดไป

    2016-11-10_035709

    • ทำการตั้งค่าได้ที่หัวข้อ Edit Deployment Properties

    2016-11-10_040233

    • ข้ามในส่วนตั้งค่า RD Gateway ไปในส่วนของการตั้งค่า RD Licensing โดยตั้งค่าเชื่อมต่อกับ Server Remote Desktop License ที่มีอยู่แล้ว (ถ้าตั้งเองต้องใช้ License ที่ออกให้โดย Microsoft)

    2016-11-10_040747

    • ในส่วนของ RD Web Access ค่าเริ่มต้นจะอยู่ที่ Path /RdWeb ต้องไปตั้งค่า Redirect เอาเองถ้าไม่ต้องการพิมพ์มือจาก URL หลัก ยกตัวอย่าง Web Site เมื่อเข้าใช้งานดังรูป

    2016-11-10_041233

    • กลับมาตั้งค่าในส่วน Certificate ใหม่โดยให้ใส่ Certificate ทั้งหมด ถ้าไม่มีให้สร้าง Self-Signed ขึ้นมาใช้เองดังรูป

    2016-11-10_041732

    • แต่ละหัวข้อเลือกแล้วให้กด Apply ทุกครั้งทำไปเรื่อย ๆ จนหมด

    2016-11-10_042015

    • จากนั้นทำการสร้าง Session Collection เพื่อกำหนดว่าจะให้ใครเข้าใช้งานได้บ้าง

    2016-11-10_060848

    • ตั้งชื่อ Collection Name

    2016-11-10_061013

    • เลือก Session Host

    2016-11-10_061051

    • เลือก User Groups ที่ต้องการให้เข้าใช้ (xxx\Domain Users ความหมายคือผู้ใช้ทั้งหมดที่อยู่ภายใต้ Domain xxx)

    2016-11-10_061152

    • ในส่วนของ User Profile ให้ติกออก

    2016-11-10_061216

    • จากนั้นจะปรากฎหน้ายืนยันข้อมูลที่เลือกไปทั้งหมด จากนั้นทำการสร้าง

    2016-11-10_061303

    • หลังจากนั้นทำการตั้งค่า Remote App ที่ต้องการให้บริการดังรูป

    2016-11-10_061819

    • ทำการเลือก App ที่ต้องการ

    2016-11-10_061947

    • จากนั้นทำการ Publish

    2016-11-10_062003

    • กลับมายังหน้า Web (เปิดที่ Client ไม่ใช่ที่ Server) ในกรณีที่ใช้ Self Signed Cer ต้องทำการติดตั้ง Cer ก่อนซึ่ง Cer ดังกล่าวสามารถ Export จาก Server ให้ Client ไปลงเองดังรูป

    2016-11-10_0631292016-11-10_063148

    • จากนั้นทำการ Login จะได้ Remote App ดังที่เห็นในรูป ให้คลิกไปที่ Icon เพื่อ Download ไฟล์สำหรับใช้งาน

    2016-11-10_062216

    • จะปรากฎหน้าแจ้งเตือนดังรูป ให้เลือกไม่ต้องถามอีกจะได้ไม่ต้องกดหน้านี้ทุกครั้งที่ใช้งาน

    2016-11-10_062435

    • ใส่ Username, Password จะได้โปรแกรมดังภาพ โดยไม่ต้องติดตั้งในเครื่อง Client และใช้ License ที่ Server รวมถึงเวลารันโปรแกรมก็จะรันที่ Server ไม่ได้รันที่ Client (ถ้า Server แรง ก็จะรันได้เร็วกว่า)2016-11-10_065049

    การตั้งค่า Quota Disk สำหรับใช้งานพื้นที่ร่วมกัน

    • เลือก Drive ที่ต้องการทำการตั้งค่า Quota ดังรูป

    2016-11-10_051047

    • ทำการตั้งค่า Quota ของ Disk ถ้าไม่เลือก Deny disk space to user exceeding quota limit ผู้ใช้จะไม่ถูกแจ้งเตือนในกรณีที่ใช้งานเกิน Limit

    2016-11-10_053724

    • ทำการตั้งค่า Quota ของแต่ละ User โดยเลือกที่ Quota Entries

    2016-11-10_051405

    • สามารถตั้งให้แต่ละคนได้ไม่เท่ากันได้ ดังรูป

    2016-11-10_051611

    • หลังจากเปิดระบบ Quota เราจะสามารถดูได้ทั้งหมดว่าแต่ละ User ใช้พื้นที่ไปเท่าไหร่บ้าง

    2016-11-10_052120

    • ในกรณีที่ใช้งานเต็มจะแจ้ง User ประมาณในรูป

    2016-11-10_053610

    จบแล้วครับ หวังว่าเป็นแนวทางใหม่ ๆ อีกแนวทางหนึ่งครับ (ตอนนี้อาจจะยังนึกไม่ออกว่าจะเอามาใช้อย่างไร แต่สำหรับคนที่ซื้อ License อะไรสักอย่างแล้วใช้งานได้แค่เครื่องเดียวจะเข้าใจดีครับว่ามีประโยชน์อย่างไร)

  • How to: SQL Server Failover Cluster

    สิ่งที่ต้องมี

    • Software
    • Hardware
      • เครื่องคอมพิวเตอร์อย่างน้อย 2 เครื่องสเป็คเดียวกัน (ในเอกสารนี้ใช้ 2 เครื่อง)
      • ในเอกสารนี้ใช้ VMware ESXi
      • รายละเอียดเพิ่มเติม Hardware Requirements
      • เครื่องคอมพิวเตอร์ 1 เครื่องสำหรับเป็น iSCSI เซิร์ฟเวอร์
    • IP address
      • สำหรับเครื่อง Server 2 เลข
      • สำหรับ Microsoft failover cluster 1 เลข
      • สำหรับ Microsoft SQL Server failover cluster 1 เลข
      • ทุกไอพีต้องมีชื่อใน domain .psu.ac.th
    • Shared Storage
      • iSCSI (ในเอกสารนี้เลือกใช้ iSCSI)
        • IP address สำหรับ  iSCSI Server
      • หากมี shared storage อื่นๆ สามารถใช้ได้เลย
    • Domain Account
      • ติดต่อศูนย์คอมพิวเตอร์เพื่อขอสิทธิ์จอยโดเมน

    มีครบแล้วก็เริ่มกันเลย

    • Shared Storage (iSCSI) (Windows Server 2012R2 Data center)
      • เข้าระบบด้วยบัญชี administrator
      • คลิกปุ่ม start พิมพ์ windows update เพื่อเปิดโปรแกรม windows update ให้ update ทุกอย่างให้เรียบร้อย (restart หากต้อง restart หากรีสตาร์ทกลับมาแล้วเข้าระบบด้วยผู้ใช้ administrator)
      • เปิด Server Manager (ไอคอนแรกข้างปุ่ม start , โดยปกติจะถูกเรียกใช้งานโดยอัตโนมัติ)
      • ที่ Dashboard มองไปที่ QUICK START ข้อ 2 Add roles and features คลิก
      • คลิก Next เลือก Role-based of feature-based installation คลิก Next เลือก Select a server from the server pool เลือกเครื่องของเราในช่องด้านล่างคลิก Next มองหา File and Storage Services คลิกสามเหลี่ยมก็จะมี File and iSCSI Services ทำเครื่องหมายถูกหน้าข้อความ iSCSI Target Server จะมีหน้าต่าง สรุปการติดตั้งขึ้นมา คลิก Add Features คลิก Next ไปเรื่อยๆ จนเจอคำว่า Install คลิก Install รอจนกว่าจะติดตั้งเสร็จ (Installation succeeded on …) คลิก Close
      • กลับมาที่ Server Manager คลิกที่ File and Storage Services คลิก iSCSI มองไปด้านขวาจะปุ่ม TASKS
      • ให้คลิก TASKS เลือก New iSCSI Virtual Disk… จะมีหน้าต่าง New iSCSI Virtual Disk Wizard เลือก Type a custom path ให้ Browse… ไปยังที่เก็บไฟล์ที่ต้องการ คลิก Next จะเป็นหน้าที่ให้ตั้งชื่อไฟล์ ตั้งชื่อแล้วคลิก Next ระบุขนาดที่ต้องการที่นี้ให้ใส่ไป 5GB Fixed size คลิก Next เลือก New iSCSI target คลิก Next ตั้งชื่อสำหรับ shared disk ลูกนี้ คลิก Next ในหน้า Access Servers คลิกปุ่ม Add… เลือก Enter a value for the selectd type ให้เลือกเป็น DNS Name หรือ IP address ก็ได้แล้วใส่เครื่องทั้งสองเครื่องที่จะทำ Cluster ลงไป (ทำทีละเครื่อง) เมื่อใส่ครบแล้วคลิก Next 2 ครั้ง คลิก Create คลิก Close
      • ทำซ้ำข้อที่แล้วอีกครั้งโดยขนาดดิสก์เป็น 10GB เปลี่ยนตรงขั้นตอน iSCSI Target ให้เลือก Existing iSCSI target: คลิก Next แล้วคลิก Create คลิก Close
    • Join Domain (Windows Server 2012R2 Data center)
      • ล็อคอินเข้าระบบด้วยผู้ใช้ administrator
        • คลิกปุ่ม start พิมพ์ windows update เพื่อเปิดโปรแกรม windows update ให้ update ทุกอย่างให้เรียบร้อยทั้ง 2 เครื่อง
        • คลิกขวาที่ปุ่ม start เมนูเลือก system
        • ที่หัวข้อ Computer name, domain, and workgroup settings คลิก Change settings
        • ที่หน้าต่าง System Properties แท็บ Computer Name คลิก Change…
        • Member of  เลือก Domain พิมพ์ psu.ac.th คลิก OK จะมีการให้ยืนยันตัวตนว่ามีสิทธิ์ join domain หรือไม่ รอสักครู่ แล้วจะมีข้อความว่าต้อง restart เครื่อง ให้ restart ได้เลย
        • เมื่อรีสตาร์ทเสร็จแล้ว เข้าระบบด้วยผู้ใช้ administrator
        • เปิด Computer Management โดยคลิกขวาที่ปุ่ม start เลือก Computer Management คลิกที่สามเหลี่ยมหน้าข้อความ Local Users and Groups มองไปช่องทางขวาจะมี Administrators ให้ดับเบิ้ลคลิกเปิดขึ้นมา เลือก PSU\Domain Admins คลิก Remove คลิก Add… ใส่ Username ของเราลงไปคลิก OK ออกมาจนสุด
        • Sign Out ออกจากระบบ
        • Log In ใหม่ด้วย Username ของเราเอง psu\firstname.s
        • ทำเหมือนกันสองเครื่อง
        • จบการ Join Domain
    • ติดตั้ง Microsoft Failover Cluster
      • เข้าระบบด้วยผู้ใช้ Domain ที่เพิ่งเพิ่มเข้าไปในกลุ่ม Administrators
      • ที่ Server Manager ที่เมนู Tools คลิกเลือก iSCSI Initiator คลิก Yes จะได้หน้าต่าง iSCSI Initiator Properties ที่แท็บ Targets ในช่อง Target: ใส่ IP Address ของเครื่อง iSCSI Server คลิก Quick Connect… คลิกเลือก disk คลิก Done ทำเหมือนกันทั้งสองเครื่อง และเพิ่มดิสก์ทั้งสองก้อนเข้าไป
      • ที่ Server Manager คลิก Manage เลือก Add Roles and Features
      • จะได้หน้าต่าง Add Roles and Features Wizard คลิก Next เลือก Role-based or feature-based installation คลิก Next เลือก Server ใน Server Pool (ซึ่งมีอยู่เครื่องเดียว) คลิก Next ในหน้า Server Roles คลิก Next หน้า Features เลือก Failover Clustering คลิก Next จะมีหน้าต่างสรุปการติดตั้งขึ้นมาให้กด Add features แล้วคลิก Next ไปจนเจอคำว่า Install คลิก Install รอไปจนเสร็จ คลิก Close
      • ที่ Sever Manager คลิก All Servers คลิกขวาที่เครื่องในช่อง Server เลือก Failover Cluster Manager
      • ที่ Failover Cluster Manager
      • คลิก Validate Configuration
        • Before You Begin คลิก Next
        • เพิ่มชื่อเครื่องที่เตรียมไว้ทั้งสองเครื่องลงไป โดยพิมพ์ชื่อแล้วคลิก Add ทีละเครื่อง
        • เลือก Run all tests (recommended) ปล่อยให้ทำไปจนเสร็จ
        • ตรวจสอบ Log การ valid อาจมีเตือนเรื่อง network เป็น single points of failure เนื่องจากใช้ internet card เพียงใบเดียว
        • ทำเครื่องหมายถูกหน้าข้อความ Create Cluster Wizard เลือกเครื่องที่จะทำ Cluster กำหนดเลขไอพีสำหรับ Microsoft failover cluster (IP ข้อ 2) กำหนดชื่อ Cluster next ไปจนเสร็จ*
    • ติดตั้ง Microsoft SQL Server Cluster 2016
      • mount แผ่นติดตั้ง Microsoft SQL Server 2016 Server Cal เลือก New SQL Server failover cluster installation ในหน้า Installation
      • แทบจะ Next technology ได้เลยสิ่งที่ต้องกำหนดเพิ่มคือ ชื่อของ Microsoft SQL Server failover cluster และ IP address สำหรับ Microsoft SQL Server failover cluster เลือกดิสก์ที่ใช้งานสำหรับ SQL Server ให้เลือก shared disk ลูกที่ 2
      • รอจนเสร็จแล้วให้มาติดตั้งที่เครื่องที่ 2 โดยเลือก add new node และทำเหมือนเดิม
      • เสร็จ
    • จบขอให้สนุก…

    อ้างอิง

    https://msdn.microsoft.com/en-us/library/hh231721(v=sql.130).aspx

    https://blogs.msdn.microsoft.com/clustering/2012/04/06/installing-the-failover-cluster-feature-and-tools-in-windows-server-2012/

  • วิธีใช้ Google Sites เพื่อแสดงรายงานผลการลงทะเบียนจาก Google Form

    ปัจจุบันการสร้างแบบฟอร์มการรับลงทะเบียนออนไลน์สามารถทำได้ง่ายๆโดยใช้ Google Form โดยวันนี้มีโจทย์ว่า ต้องการรับลงทะเบียนผู้ที่จะร่วมเดินทาง กำหนดว่า ต้องการเดินทางกับรถบัสหมายเลขใด (มี 3 คัน) และต้องการแสดงผลทันทีว่า แต่ละคันมีจำนวนคนเท่าไหร่แล้ว และ ใครบ้างที่เดินทางไปในรถบัสคันนั้น

    วิธีการคือ

    1. สร้าง Google Form เพื่อทำระบบรับลงทะเบียนตามปรกติ
      2559-11-03-10_08_062559-11-03-10_08_22-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%9c%e0%b8%b9%e0%b9%89%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%aa%e0%b8%87%e0%b8%84%e0%b9%8c
      2559-11-03-10_08_37-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%9c%e0%b8%b9%e0%b9%89%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%aa%e0%b8%87%e0%b8%84%e0%b9%8c
      2559-11-03-10_08_37-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%9c%e0%b8%b9%e0%b9%89%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%aa%e0%b8%87%e0%b8%84%e0%b9%8c
    2. ในส่วนของการสร้างแบบฟอร์ม ให้คลิกที่ RESPONSES แล้วคลิกที่รูป สี่เหลี่ยมสีเขียว (Google Sheets) 
      2559-11-03-14_21_05
    3. แล้วจัดรูปแบบให้เรียบร้อย เช่นต้องการจะซ่อน Column ใดบ้าง (จะใส่สี ก็ได้นะ)
      เสร็จแล้ว คลิกที่ปุ่ม Share
      2559-11-03-14_25_27
    4. กำหนดให้ Anyone with Link “Can View” แล้วคลิก Done
      2559-11-03-14_30_28
    5. สร้าง Google Sites และสร้างโครงสร้าง Page ต่างๆตามต้องการ
      2559-11-03-10_10_02-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    6. ในตัวอย่างนี้ จะสร้าง Page “รายชื่อ” เพื่อไว้ใช้แสดงผลการลงทะเบียน ว่า รถหมายเลขใด มีจำนวนกี่คนแล้ว และใครบ้าง
      ให้เลือก Insert > More gadgets
      แล้วคลิกที่ Public > Include gadget (Iframe)
      2559-11-03-14_39_23-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence 2559-11-03-14_39_45-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence 2559-11-03-14_39_55-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    7. จากนั้น มาใส่ URL กัน
      2559-11-03-14_40_09-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    8. ใส่ URL ตามนี้https://spreadsheets.google.com/tq?tqx=out:html&tq=select  L,count(B) group by L  label count(B) ‘จำนวน’&key=XXXXXXXXXXXXXXXXXX

      เพื่อให้แสดงผลว่า รถบัสหมายเลขใด มีจำนวนคนเท่าไหร่
      โดยที่ tq เป็น Query เขียนว่า select L, count(B) group by L label count(B) ‘จำนวน’
      คือการแสดงคอลัมน์ L และ นับจำนวนโดยการ count โดยจัดกลุ่มตามคอลัมน์ L
      นอกจากนั้นยัง label คอลัมน์ count(B) เป็นคำว่า “จำนวน”2559-11-03-15_44_37-%e0%b9%82%e0%b8%84%e0%b8%a3%e0%b8%87%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%96%e0%b8%a7%e0%b8%b2%e0%b8%a2%e0%b8%84%e0%b8%a7%e0%b8%b2%e0%b8%a1%e0%b8%ad%e0%b8%b2%e0%b8%a5%e0%b8%b1%e0%b8%a2

      ผลที่ได้คือ
      2559-11-03-15_48_55-search

      และ key=XXXXXXXXXXX นั้น ให้เอาค่าจาก

      2559-11-03-15_51_51

    9. ต่อไปให้แสดงผลรายชื่อทั้งหมด โดยสามารถแยกรายชื่อแต่ละคัน โดย
      Insert > Drive > Spreadsheet
      2559-11-03-15_50_46-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolenceแล้วเลือก Google Sheet ที่ต้องการ
      2559-11-03-15_57_14-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    10. เมื่อดำเนินการเสร็จแล้ว ระบบก็จะสามารถแสดงผลการลงทะเบียนได้อัตโนมัติ
      2559-11-03-16_01_15-program-manager