โอเพนซอร์สซอฟต์แวร์และวงจรเชิงบวกสมบูรณ์

ไม่คิดว่าจะเขียนเรื่องนี้เพราะเรื่องโอเพนซอร์สซอฟต์แวร์และวงจรเชิงบวก สมบูรณ์ หรือ Completeness Positive Cycle for Open Source Software นี้เป็นเรื่องที่เข้าใจได้ยาก ออกจะขวางโลกธุรกิจ ขวางโลกในมุมมองของคนในธุรกิจซอฟต์แวร์พอสมควร เพราะธุรกิจซอฟต์แวร์ที่เอาซอฟต์แวร์โอเพนซอร์สไปใช้หรือนำไปจำหน่ายมักเน้น ไปในแนวทางธุรกิจในแบบที่เห็นแก่ตัว บางคนก้อเรียกให้สวยหรูว่ามันเป็น Business Model อย่างหนึ่ง ซึ่งผมเองไม่ค่อยเห็นด้วยสักเท่าไร หากคุณยังนึกภาพไม่ออกผมจะยกตัวอย่างง่ายๆ ให้ทำความเข้าใจกัน
สมมุติ ว่ามีชุมชนหนึ่งหรือนักพัฒนากลุ่มหนึ่งพัฒนาซอฟต์แวร์แล้วเปิดเป็นโอเพน ซอร์ส (ใช้ License แบบโอเพนซอร์ส) แต่มีกลุ่มคนอีกกลุ่มหนึ่งที่ไม่ได้เกี่ยวข้องอะไรกับชุมชนนั้น หยิบเอาซอฟต์แวร์นั้นไปเปลี่ยนชื่อและจำหน่าย โดยที่ชุมชนและกลุ่มนักพัฒนาก้อยังพัฒนาอยู่เรื่อยๆ โดยไม่รู้เรื่องอะไรเลย และกลุ่มคนกลุ่มนั้นก้อไม่คิดที่จะซัพพอร์ทชุมชนและกลุ่มนักพัฒนาเลยแม้แต่ น้อย หากซอฟต์แวร์มีปัญหาก้อจะโยนกลองให้ชุมชนและกลุ่มนักพัฒนาแก้ไขกันต่อไป สิ่งเหล่านี้เกิดขึ้นจริงและน่าละอายมากที่คนไทยเราก้อทำธุรกิจหากินกับ ชุมชนและกลุ่มนักพัฒนาเช่นนี้เหมือนกับตัวอย่าง
น่าเสียดายที่องค์กร ที่ทำหน้าที่ผลักดันเรื่องโอเพนซอร์สในบ้านเรา ไม่ว่าจะเป็น องค์กรด้านการศึกษา และ องค์กรด้านภาครัฐ ไม่ได้ใส่ใจในเรื่องของความสำคัญและคุณค่าของซอฟต์แวร์มากนัก ทำให้ซอฟต์แวร์โอเพนซอร์สในความคิดของบ้านเราเป็นซอฟต์แวร์ทางเลือกหรือ ซอฟต์แวร์ที่ใช้งานได้บ้างไม่ได้บ้าง ซึ่งความคิดแบบนี้ส่งผลเสียแต่ชุมชนและนักพัฒนาซอฟต์แวร์โอเพนซอร์สโดยตรง เอาล่ะโอเพนซอร์สซอฟต์แวร์และวงจรเชิงบวกสมบูรณ์เป็นอย่างไร ผมขออธิบายสั้นๆ และไม่ขอลงในรายละเอียดมากนักนะครับ เรามาเริ่มจากจุดเริ่มต้นกันอีกครั้งหนึ่งที่มีชุมชนหนึ่งหรือนักพัฒนากลุ่ม หนึ่งพัฒนาซอฟต์แวร์แล้วเปิดเป็นโอเพนซอร์ส โดยชุมชนและนักพัฒนาซัพพอร์สซึ่งกันและกันโดยการร่วมกันพัฒนา หาบัก แก้บัก สร้างองค์ความรู้ ฯลฯ นวตกรรมใหม่ๆ จะเกิดขึ้นจากชุมชน เนื่องจากความต้องการของแต่ละคนไม่เหมือนกันทำให้ซอฟต์แวร์นั้นต้องมีการ พัฒนาอยู่เสมอ นวตกรรมใหม่นี้ถือว่ามีเจ้าของร่วมกันคือชุมชนและนักพัฒนา หากเรามองในรูปแบบวงกลมเราจะได้วงกลมที่ซ้อนทับกัน Continue reading โอเพนซอร์สซอฟต์แวร์และวงจรเชิงบวกสมบูรณ์

ติด RAID10 ให้ Ubuntu

ค้างเรื่อง RAID 10 มาระยะนึงแล้วตั้งใจว่าจะเขียนตั้งนานละไม่ได้เขียน เรื่องของเรื่องคือ Ubuntu เวลาติดตั้ง RAID มักจะลงเอยด้วยการ boot ไม่ขึ้นและติดตั้งได้เพียง RAID 0,1 และ 5 เท่านั้น เรียกได้ว่าเป็นอาการหลักเลยล่ะ ลองไปค้นๆ พบคำตอบที่น่าสนใจเลยได้โอกาสมาเขียนเล่าสู่กันฟัง สักครั้ง ปัญหาที่เขาพบก้อคล้ายๆ กับปัญหาที่ผมพบเช่นกันคือ ติดตั้งไปแล้ว boot ไม่ได้แต่วิธีการแก้ไขมันมีครับ คือใช้ Live CD ช่วยอีกแรง อันดับแรกมาวางแผน partition กันก่อน ใช้โปรแกรมจัดการ partition ง่ายๆ อย่าง cfdisk (มันใช้ง่ายอ่ะนะ) สร้าง partition ขนาด 50 MB ก่อนใน ฮาร์ดดิสก์ลูกแรก (ลืมบอกไปว่ามี 4 ลูก) เป็น /boot จากนั้นสร้าง partition ที่เหลือเป็น RAID อ้ออย่าลืมใส่ swap ขนาด 1 GB ไว้ทุกๆ ฮาร์ดดิสก์ เพื่อความสามารถในการจัดการ SWAP เราจะได้โครงสร้าง partition ดังภาพ

จากนั้นติดตั้งโปรแกรมจัดการ RAID เพื่อตั้งค่า RAID อีกทีโดยใช้คำสั่ง

apt-get install mdadm

จากนั้นสร้าง RAID device ขึ้นมากำหนดให้เป็น raid10 โดยใช้คำสั่ง

mdadm -v --create /dev/md0 --level=raid10 --raid-devices=4 /dev/sda2 /dev/sdb1 /dev/sdc1 /dev/sdd1

จากนั้นสั่งสร้าง File System และ Format ก่อนเพราะตัวติดตั้งของ Ubuntu จะไม่เข้าใจว่ามันจพ Format Partition ยังไง ให้เราชิง Format มันก่อน และกำหนดให้เป็น XFS สาเหตุที่ใช้ XFS เพราะว่า File System แบบนี้มีประสิทธิภาพในการจัดการไฟล์ได้ดีกว่า ext3 จากนั้นสร้าง link สำหรับ RAID Device เพื่อให้ Ubuntu เข้าใจ เพราะ device md0 ที่เราสร้างจะหาไม่เจอตอนที่เราติดตั้ง Ubuntu ก้อเปลี่ยนเป็น sde ซะ เริ่มจากสั่งสร้าง XFS กันก่อน

mkfs.xfs /dev/md0

สร้าง link เพื่อบอกให้ตัวติดตั้งมองเห็น

ln /dev/md0 /dev/sde

จากนั้นติดตั้ง Ubuntu ได้เลยครับ กำหนดให้ /boot (sda1) ของเราเป็น ext3 นะครับ และตั้งค่า swap ให้ทุกๆ partition ที่เป็น swap สำหรับ partition อื่นๆ อย่าเลือกให้ reformat นะครับเพราะเราชิง format มันเป็น XFS ไปแล้ว จากนั้นเริ่มติดตั้งกันได้เลย หลังจากติดตั้งเสร็จให้ใช้ Live CD ต่อครับ มาติดตั้งโปรแกรมจัดการ RAID ให้ partition ที่เราติดตั้งกันต่อ เพราะมันจะมองไม่เห็น RAID ที่เราสร้างหลังจากที่เรา reboot และนี่คือตัวปัญหาที่มักจะพบกันบ่อย วิธีการติดตั้งโปรแกรมจัดการ RAID ให้คุณ chroot เข้าไปครับ แล้วติดตั้ง mdadm ด้วยคำสั่ง

mkdir /myraid
mount /dev/md0 /myraid
mount /dev/sda1 /myraid/boot
mount --bind /dev /myraid/dev
mount -t devpts devpts /myraid/dev/pts
mount -t proc proc /myraid/proc
mount -t sysfs sysfs /myraid/sys
chroot /myraid
apt-get install mdadm
exit

ทีนี้เราก้อ reboot เครื่องกันได้แล้ว อ้อมีคำสั่งที่น่าสนใจ อยู่นิดนึงว่า partition ไหนอยู่ใน ฮาร์ดดิสก้อไหนคำสั่งที่ใช้คือ

cat /proc/mdstat

นี่แหละครับ หากเกิดปัญหาแล้วต้องการ mount RAID จาก Live CD คุณต้องติดตั้ง mdadm ก่อนเพื่อจะสั่งให้ RAID ทำงาน ด้วยคำสั่งดังนี้

sudo su
apt-get install mdadm
mdadm --assemble /dev/md0

จากนั้นเราก้อ mount RAID ได้แล้ว อ่านเพิ่มเติม หากไม่เข้าใจ