สมาคมศึกษาและพัฒนาโอเพ่นซอร์ส (OSEDA) เปิด RedHat OpenStack WorkShop เตรียมความพร้อมบุคคลากรด้าน Cloud Computing ด้วย RedHat OpenStack ที่ได้รวบรวมเทคโนโลยีสำหรับที่จะสร้างโครงสร้างพื้นฐานของ Cloud IaaS (Infrastructure as a Service) ที่ได้รับความนิยมสูงสุดและสามารถขยายให้รองรับการใช้งาน ในระดับองค์กรที่ต้องการใช้ Private Cloud จนถึงการใช้งานในระดับการให้บริการ Public Cloud

ใน Workshop ท่านจะได้ฝึกปฎิบัติ

  • ติดตั้ง OpenStack (IceHouse)
  • สร้าง Project, Users, Role และกำหนด Permission ของ User
  • สร้าง Instance จาก image และ Volumne และสามารถกำหนด flavor ตามความต้องการ
  • สร้าง networks, subnets และ route เข้าใจการทำงานของ L2 network และ L3 Agent
  • สร้าง keypair เพื่อให้สามารถรองรับการเข้าไปใช้งาน Instance
  • สามารถบริหาร Security Groups และสามารถกำหนด Floating IP ให้แก่ Instance
  • สามารถเข้าใช้งาน Instance ด้วย SSH จาก External IP
  • สามารถบริหารจัดการ Block Storage (Cinder)
  • สามารถติดตั้ง Object Storge (Swift) ในลักษณะการขยายงานแบบ Multinode
  • สามารถบริหารจัดการ Container และการสร้าง Zone อย่างเหมาะสม

สนใจ สอบถามรายละเอียดเพิ่มเติมได้ที่ – OSEDA

การที่นักพัฒนาหลายๆ คนใช้งาน Git บน Repository เดียวกัน สามารถทำได้ โดยกระบวนการหนึ่งเราเรียกว่า การทำงานแบบ Centralized Workflow

ตัวอย่างที่จะแสดงนี้ มีนักพัฒนา 3 คน ที่ทำงานบน Remote Repository เดียวกัน โดยทั้ง 3 คน ได้ใช้คำสั่ง git clone เพื่อนำ Remote Repository มาคัดลอกเป็น Local Repository เพื่อทำงานในเครื่องตนเอง
Continue reading

Git Reset เป็นคำสั่งสำหรับย้อนการกระทำ หรือเข้าใจง่ายๆ คือเหมือนกับคำสั่ง undoing ในโปรแกรมอื่นๆ วิธีการใช้จะแสดงให้เห็นในตัวอย่างด้านล่าง โดยตัวอย่างมีการแก้ไขข้อมูลในไฟล์ที่ชื่อว่า README.txt และภาพด้านล่างเป็นผลลัพธ์จากการใช้คำสั่ง git status เพื่อให้เห็นว่าเอกสารดังกล่าวมีการแก้ไข

จากนั้นทดลองใช้คำสั่ง git add เพื่อจะทดสอบใช้คำสั่ง git reset โดยการย้อนกลับมายังสถานะดังภาพตัวอย่างด้านบน

$ git add .

รูปภาพด้านล่างเป็นผลลัพธ์จากการใช้คำสั่ง git add แล้วตรวจสอบสถานะด้วยคำสั่ง git status
Continue reading

ผมว่าหลายคนที่จัด RHEL 7 หรือ CentOS 7 โดยที่ไม่ได้ใช้ Fedora 20 และไม่ได้เป็นสาวก Fedora มาก่อนจะไม่ทราบว่าอีก release ถัดไปของ RHEL, CentOS, Scientifix Linux จะเจออะไรใหม่บ้าง เพราะของเล่นใหม่ๆ จะไปโหล่ใน Fedora ก่อนอย่างน้อย 2 ปี จึงจะย้ายเข้ามาใน RHEL จากนั้นถ่ายทอดไปยัง CentOS, Scientifix Linux และ Linux Distribution ที่พัฒนาต่อจาก RHEL หรือ CentOS ตามลำดับ การเปลี่ยนแปลงอย่างสายฟ้าแลบใน RHEL 7 ไม่ได้เกิดอย่างสายฟ้าแลบหรอกครับ เขาใช้กันมานานแล้ว สำหรับการเปลี่ยนแปลงที่รอมานาน คือ systemd ที่มาสดใหม่, Docker ที่คุม security ด้วย SELinux ทำให้ เรื่อง security บน Docker ที่หลายคนถากถางกันมาเกือบ 2 ปีนี้หยุดได้แล้ว เพราะนอกจากจะคุม syscall ได้แล้วยังคุมในระดับ SELinux ด้วย ส่วน feature อื่นๆ ไม่ค่อยได้สนใจมากครับ

การมาของ systemd เปลี่ยนวิธีการทำงานของ Linux Admin ไปโดยสิ้นเชิงเพราะ systemd มาจัดการ service และ run level ในระบบปฏิบัติการ คุณหนีมันไม่พ้น ก็ต้องมาเรียนกันใหม่ อ้อ init script ที่เรียนกันมาก็เปลี่ยนใหม่ด้วย เอาล่ะการที่จะเข้าใจ systemd ได้เร็วคือการหัดใช้งานมันครับ เรามาลองจัดการ service บน systemd คำสั่งที่เราใช้งานคือ systemctl

ลองใช้คำสั่ง systemctl กันดูครับ

systemctl

เราจะพบว่า systemctl จะแสดงรายการทุกอย่างที่ systemd ควบคุมได้ ทั้ง service, timer, mount, target, automount เยอะมาก


Continue reading

มีเรื่องตลกที่เกิดขึ้นกับตัวผมเองในช่วงที่ CentOS 7 ออกมาใหม่ๆ คือการเปลี่ยน hostname เนื่องจากว่าเคยชินกับการเปลี่ยนชื่อ host ก็ชอบไปเปลี่ยนที่ /etc/hostname แต่ใน CentOS 7 และ RHEL 7 ไม่ใช่แบบนั้น เค้ามีวิธีการเปลี่ยน hostname ได้น่ารักกว่า โดยการใช้คำสั่ง hostnamectl การใช้งานคำสั่งนี้ก็ง่ายมาก ถ้าต้องการดู hostname ก็ใช้คำสั่ง hostnamectl หรือ hostnamectl status ดังนี้

hostnamectl

จะได้ผลลัพท์ดังภาพ


Continue reading

การเปลี่ยนแปลงของซอร์สโค้ดนั้นใน repository นั้น สามารถเรียกดูได้ด้วยคำสั่ง

$ git log

รูปด้านล่างเป็นตัวอย่างแสดง log ของที่การ commit ว่าในแต่ละ commit มีรายละเอียดอย่างไรบ้าง

แต่ log ที่แสดงให้เห็นด้านบน แสดงให้เห็นรายละเอียดเพียงชื่อผู้ใช้, วันที่ และ commit massage ที่มีรายละเอียดเกี่ยวกับการแก้ไขข้อมูลในซอร์สโค้ด หากต้องการให้แสดงรายละเอียดเพิ่มเติมให้เพิ่ม option -p ต่อท้ายคำสั่ง
Continue reading

บน GlusterFS นั้นเราสามารกำหนด Quota ให้กับ Volume ได้เช่น กำหนดให้ Volume A สามารถใช้งานได้เพียง 10GB หรือ 100GB ซึ่งสามารถกำหนดได้ด้วยคำสั่งง่ายๆ เพียงไม่กี่คำสั่งเท่านั้น

สมมติว่าเราได้สร้าง Distributed Volume ไว้ดังนี้

โดยมี Architecture คือ

  1. node1: 192.168.1.100, Volume name: distributed-quota
  2. node2: 192.168.1.101, Volume name: distributed-quota

จากนั้นหากต้องการกำหนด Quota ให้กับ distributed-quota volume สามารถทำได้โดยขั้นแรกให้ Enable quota ให้กับ volume ก่อน

Continue reading

เราสามารถใช้คำสั่ง Add เพื่อเพิ่มข้อมูล โดยทางเทคนิคแล้วเราจะเรียกโครงสร้างของข้อมูลที่ใช้งานว่า working tree เนื่องจากการใช้ Git ในการจัดการเวอร์ชันของข้อมูลนั้น เปรียบเสมือนรากของต้นไม้ ที่สามารถแตกกิ่งก้านสาขาจากแกนกลางได้

การเพิ่มข้อมูลทำได้โดยใช้คำสั่ง git add

เริ่มต้นด้วยการทดลองสร้างไฟล์ โดยเพิ่มข้อความลงในไฟล์ที่สร้าง ด้วยคำสั่ง

$ pico Changefile.txt

หรือใช้ editor อื่นๆ เพื่อเพิ่มข้อความ “change me” ลงในไฟล์ Changefile.txt

$ pico Deletefile.txt

หรือใช้ editor อื่นๆ  เพิ่มข้อความ “delete me” ลงใน Deletefile.txt

Continue reading

พอเราใช้งาน GlusterFS ไปซักระยะบางครั้งเราก็มีความจำเป็นที่ต้องเพิ่มพื้นที่เข้าไปใน Volume กันซึ่ง GlusterFS ก็สามารถทำได้ โดยเรียก Feature นี้ว่าการ Expand Volume

สมมติว่าเรามี Volume ที่เป็น Distributed Volume อยู่ดังภาพ

และมี Architecture ดังนี้

  1. node1: 192.168.1.100, volume name: distributed
  2. node2: 192.168.1.101, volume name: distributed


Continue reading

การทำ Striped Replicated Volume นั้นจะคล้ายๆ กับการทำ Striped Volume ซึ่งมีจุดประสงค์คือช่วยให้สามารถ Access ไฟล์ได้อย่างรวดเร็ว ซึ่ง Striped Replicated นั้นพ่วงการทำ Replicated ไฟล์เข้ามาด้วยนั่นเอง

ก่อนอื่นให้ติดตั้ง GlusterFS กันก่อนโดยหากใครติดตั้งเรียบร้อยแล้วสามารถข้ามไปในส่วนของการทำ Striped Replicated ได้เลย GlusterFS เป็น Clustered File System ดังนั้นการติดตั้งเราจะต้องติดตั้ง GlusterFS ลงบน Ubuntu Server ตั้งแต่ 2 เครื่องขึ้นไป ซึ่งในกรณีการทำ Striped Replicated นั้นจำเป็นที่จะต้องมี Server ตั้งแต่ 4 เครื่องขึ้นไป โดยการติดตั้ง GlusterFS บน Ubuntu 14.04 Server นั้นสามารถทำได้โดยติดตั้งผ่าน package manager ได้ทันที การติดตั้ง GlusterFS นั้นสามารถทำได้ง่ายๆ โดยการติดตั้งผ่าน package manager แต่ก่อนที่จะลงมือติดตั้ง GlusterFS มาดูโครงสร้างพื้นฐานที่ต้องใช้กันก่อน โดยเรามีเครื่อง Ubuntu Server 4 เครื่อง ดังนี้

  • node1 มี IP Address เป็น 192.168.1.100
  • node2 มี IP Address เป็น 192.168.1.101
  • node3 มี IP Address เป็น 192.168.1.102
  • node4 มี IP Address เป็น 192.168.1.103

ให้ติดตั้ง Gluster Server ทั้ง 4 เครื่องด้วยคำสั่งซึ่งสามารถทำได้ดังนี้

sudo apt-get install glusterfs-server


Continue reading