การติดตั้ง CentOS 8 นั้นไม่ได้ยาก ถ้าหากเรามีความเข้าใจการแบ่งพาร์ติชัน เพราะส่วนมากที่ติดตั้งไม่ผ่านนอกจากปัญหาฮาร์ดแวร์แล้ว ก็ติดตรงขั้นตอนการแบ่งพาร์ติชัน
สิ่งควรรู้ก่อนติดตั้ง CentOS 8
เซิร์ฟเวอร์ที่จะติดตั้ง เป็น BIOS หรือ UEFI
เซิร์ฟเวอร์รุ่นเก่าที่เป็น BIOS จัดการดิสก์ แบบ Master Boot Record มี Primary
Partition, Extended Partition และ Logical Partition ข้อจำกัดคือแบ่งเป็น
Primary Partition ได้แค่ 4 พาร์ติชัน หาต้องการมากกว่านั้น ก็ต้องแบ่งเป็น
Extended Partition แล้วแบ่ง เป็น Logical Partition และจัดการดิสก์ได้ไม่เกิน 2 TB ส่วน UEFI ใช้ GPT (GUID Partition Table) ในการจัดการดิสก์
แบ่งพาร์ติชั้นได้ไม่จำกัดขึ้นกับ OS รองรับดิสก์มากกว่า 2 TB
ความต้องการขั้นต่ำในการติดตั้ง CentOS 8
CPU x86_64 ต้องการ RAM อย่างน้อย 1.5 GB แนะนำ 1.5 GB ต่อ CPU
พื้นที่ดิสก์ อย่างน้อย 10 GB แนะนำที่ 20 GB
หลักการแบ่งพาร์ติชันของ CentOS 8
ความจริงแล้วการติดตั้งลีนุกซ์โดยทั่วๆ ไปที่เป็น BIOS แค่มีพาร์ติชัน / (รูท) กับพาร์ติชัน swap ก็สามารถติดตั้งได้แล้วครับ ส่วน UEFI ก็จะมีพาร์ติชัน /boot/efi เพิ่มมา แต่ในการใช้งานจริงๆ มันมีทั้งการรักษาความปลอดภัยของเซิร์ฟเวอร์ การทำดิสก์โควต้า เผื่อการแก้ปัญหาในอนาคต และอื่นๆ การมีแค่ 2 พาร์ติชันที่กล่าวมา ติดตั้งเล่นๆ ได้ แต่ไม่เหมาะกับนำไปใช้งานจริง ส่วนใครจะบอกว่าใช้อยู่ก็ใช้ได้ ก็ใช้ไปครับไม่มีปัญหาก็โชคดีไป การแบ่งพาร์ติชันเพื่อนำไปใช้งานจริง ผู้ติดตั้งจะต้องรู้ก่อนว่าเซิร์ฟเวอร์ที่เราติดตั้งใช้งานมีการเก็บข้อมูลที่ไหน จะได้แบ่งพาร์ติชันนั้นๆ
ให้มีพื้นที่มากพอสำหรับเก็บข้อมูล การเพิ่มขึ้นของข้อมูลจะได้ไม่มีผลกระทบกับพื้นที่ของระบบปฎิบัติการ เช่น Server เก็บข้อมูลที่ไดเรกทอรีไหน เช่น Webserver เก็บข้อมูลที่ /var/www/html MySQL หรือ MariaDB เก็บข้อมูลที่ /var/lib/mysql เราก็จะแบ่งพาร์ติชัน /var ออกมาต่างหาก หากให้บริการเก็บไฟล์ผ่าน SAMBA ก็แบ่ง /home แยกออกมา สำหรับ CentOS ก็เช่นกัน จะมีการแบ่งพาร์ติชันแบบอัตโนมัติมาให้ข้อดีคือสะดวก และง่ายในการติดตั้ง แต่ส่วนมากจะแบ่งพาร์ติชัน /home ไว้เป็นพาร์ติชันที่มีพื้นที่มากที่สุด หากใครทำเซิร์ฟเวอร์ที่ใช้พื้นที่ที่ /home ก็โชคดีไป แต่ถ้าไม่ได้ใช้พื้นที่ /home ก็โชคร้ายไปครับ เช่นติดตั้ง MariaDB แบ่งพาร์ติชันอัตโนมัติ แบ่งพาร์ติชัน /home ขนาด 450 GB พาร์ติชัน / ขนาด 50GB ที่เก็บข้อมูลของ MariaDB อยู่ที่ /var/lib/mysql ซึ่งอยู่ภายใต้พาร์ติชัน / ก็สามารถใช้งานได้ไม่ถึง 50 GB นั้น ส่วน 450 GB ก็แบ่งทิ้งไว้เฉยๆ แต่ถ้าเกิดกรณีแบบนี้ขึ้นก็สามารถย้ายที่เก็บข้อมูลของ MariaDB ไปไว้ใน /home ได้ แต่ไม่กล่าวถึงในที่นี้
นอกจากนั้นการแบ่งพาร์ติชันแบบอัตโนมัติ ก็ยังพาร์ติชันมาแบบ LVM (Logical volume management) ถ้าผู้ติดตั้งมีความรู้เรื่อง LVM สามารถบริหารจัดการได้ก็ไม่เป็นไรครับใช้งานได้มีประโยชน์ แต่อนาคตหากฮาร์ดดิสก์มีปัญหาขึ้นมา ผู้ดูแลไม่สามารถใช้งาน LVM ได้ก็เป็นปัญหาอีก
ความเห็นส่วนตัว สำหรับการทำเซิร์ฟเวอร์ทั่วๆไป และลีนุกซ์มือใหม่ คิดว่าแบ่งพาร์ติชันแบบ Standard และแบ่งเองให้เหมาะสมกับการใช้งานน่าจะเหมาะสมที่สุด ทั้งนี้ทั้งนั้นขึ้นกับงาน ขึ้นกับขนาดของงานด้วย เพราะแต่ละเทคโนโลยีที่เขาทำมาให้เราใช้มันมีความเหมาะสมในตัวมันเอง ผู้ติดตั้งเท่านั้นที่จะรู้ว่าอะไรเหมาะสมกับงาน
และเหมาะสมกับความรู้ความสามารถของผู้ติดตั้งเอง
พาร์ติชันของ CentOS ในคู่มือการติดตั้ง RHEL 8 ได้แนะนำการแบ่งพาร์ติชันที่เหมาะสมไว้ดังนี้
/boot พาร์ติชัน แนะนำขนาด 1 GB
/boot เป็นที่เก็บเคอร์เนล นั่นก็คือตัวระบบปฏิบัติการลีนุกซ์ พาร์ติชันนี้แหละที่มีส่วนสำคัญที่ทำให้ลีนุกซ์บูทได้
/ (รูท) พาร์ติชัน ขนาด 10 GB
/ เป็นไดเรกทอรีสูงสุดของระบบ ทุกๆ ไฟล์ที่เราติดตั้งจะเก็บอยู่ภายใน / ยกเว้นพาร์ติชันที่แบ่งออกมา
แต่พาร์ติชันเหล่านั้นก็จะเมาท์อยู่ภายใต้ /
Linux Filesystem
บนระบบปฏิบัติการ Windows เราคงคงคุ้นเคยกับ ระบบไฟล์ FAT FAT32 NTFS บนระบบปฎิบัติการลีนุกซ์มีระบบไฟล์ เช่น Ext3 Ext4 GFS GFS2 XFS ซึ่งแต่ละระบบไฟล์ก็มีก็ดีข้อด้อยต่างกันไป ปัจจุบัน CentOS 8 ใช้ XFS เป็นระบบไฟล์ตั้งต้น
swap พาร์ติชัน
swap พาร์ติชันเป็น virtual memory พาร์ติชันนี้จะถูกใช้งานเวลาที่ RAM ไม่พอ หลักการแบ่งพาร์ติชัน swap ดังตาราง
ครั้งที่ผมอบรม RHCE ก็จะต้องมีการแบ่งพาร์ติชัน /tmp ออกมาด้วย ขนาด 256 MB แต่ปัจจุบันดูเหมือนจะไม่มีการให้ความสำคัญกับการแบ่งพาร์ติชัน /tmp แยกออกมา รวมถึงระบบการแบ่งพาร์ติชันอัตโนมัติของ CentOS เอง