I/O Scheduler สำหรับ Hard disk หรือพวก block device จะมีอยู่ด้วยกัน 4 แบบกัน คือ anticipatory, noop, deadline และ CFQ และส่วนมาก default ของ I/O Scheduler ที่ถูกเลือก คือ CFQ
สำหรับวิธีการเปลี่ยนค่า I/O Scheduler สามารถทำได้ดังนี้
echo SCHEDNAME > /sys/block/DEV/queue/scheduler
ซึ่ง SCHEDNAME คือชื่อของ scheduling algorithm (anticipatory, noop, deadline และ CFQ) และ DEV คือ ชื่อของ device เช่น sda, sdb, sdc เป็นต้น
ตัวอย่างการเปลี่ยน I/O Scheduler โดยสมมติว่าจะต้องการเปลี่ยนที่ device sda จาก cfq เป็น anticipatory
continue
Posted by (0) Comment
smartd คือ โปรแกรมที่ทำหน้าที่คอย monitor hard disk โดยใช้เทคโนโลยี SMART หรือ Self-Monitoring, Analysis, and Reporting Technology เพื่อทำการ วิเคราะห์, ตรวจสอบ, รายงานสถานะการทำงานของ และทำนายว่า Hard disk ของเรามีโอกาสที่จะเสียหรือไม่
สำหรับ Linux รุ่นเก่า smartd นี้จะมาพร้อมกับ kernel-utils แต่สำหรับ linux version ใหม่ๆ จะอยู่ใน smartmontools package
โดยทั่วไปแล้ว smartd นี้จะถูก start หรือเริ่มต้นการทำงานตั้งแต่มีการ boot เครื่อง และสำหรับไฟล์ configure จะถูกที่ /etc/smartd.conf
คำสั่งสำหรับการตรวจสอบว่า hard disk ที่ใช้อยู่รองรับ SMART หรือไม่โดย ใช้คำสั่ง
# smartctl -i /dev/harddisk_device
continue
To rescan an entire SCSI bus and re-register all devices found:
เมื่อต้องการ rescan SCSI ให้ระบบเห็น SCSI Device ตัวใหม่ ซึ่งการ rescan SCSI นั้นใน Linux บางตัวจะเป็นการ add หรือ remove device ด้วย
สำหรับ storage พวก Fibre ให้ใช้คำสั่งด้านล่างดังนี้
echo “1″ > /sys/class/fc_host/host#/issue_lip
สำหรับ storage ทั่วไปใช้คำสั่ง แต่ก็สามารถใช้คำสั่งด้านบนได้เช่นกันแต่อาจจะเสียเวลาสำหรับการ rescan
echo “- – -” > /sys/class/scsi_host/host#/scan
# คือ เลขของ SCSI bus
สำหรับคำสั่งการ remove scsi device คือ
# echo 1 > /sys/block/
/device/delete
หรือ
# echo “scsi remove-single-device” > /proc/scsi/scsi
และสำหรับคำสั่ง add scsi device คือ
# echo “scsi add-single-device
” > /proc/scsi/scsi
tip
การหา
Posted by (0) Comment
ใน version ใหม่ของ autofs (autofs5) จะมีการเพิ่ม features ให้สามารถทำงานกับระบบอื่นๆได้เพิ่มมากขึ้น โดยรายละเอียดของ features ใหม่ ใีดังนี้
ในระบบปฏิบัติการ Linux ได้มีการจัดเก็บข้อมูลของ device ต่างๆเป็นไฟล์ไว้ที่ directory /dev/ ซึ่งชื่อของ device นั้นขึ้นอยู่กับว่าเป็นอุปกรณ์ชนิดอะไร ในบทความนี้เราจะมาดูวิธีการดูว่า hard drive ที่เราได้เพิ่มเข้าไปและมีอยู่ในเครื่องนั้นมีชื่ออะไร และวิธีสังเกตว่าถ้าเป็น hard drive แบบนี้จะต้องมีชื่อขึ้นต้นว่าอะไร
เราสามารถที่จะแบ่งชื่อของอุปกรณ์ hard drive ออกได้เป็น 2 กลุ่มใหญ่ๆด้วยกันคือ
1. กลุ่มอุปกรณ์จำพวก SCSI, Flash drive, SATA จะมีคำขึ้นต้นเป็น sd 2. กลุ่มอุปกรณ์จำพวก IDE จะมีคำขึ้นต้นเป็น hd
ต่อมาจะเป็นจะเป็นตัวอักษรตามหลังคำว่า sd และ hd จะเป็นตัวบ่งบอกว่าเป็นอุปกรณ์ในลำดับที่เท่าไหร่ในกลุ่มอุปกรณ์นั้นๆ โดยจะเริ่มจาก a เป็นต้นไป
Tags: device files nameการเพิ่ม hard disk เข้าไปในระบบปฏิบัติการ ลินุกซ์ นั้นไม่ยากเย็นแสนเข็ญเหมือนบางคนคิด แต่เป็นอะไรที่ง่ายและไม่ยุ่งยากซับซ้อนมากมายนัก(แต่ถ้าเทียบกับ microsoft windowns ก็ยากกว่านิดหน่อย) สิ่งที่เราจะต้องรู้ืและเข้าใจก็มีพวกการแบ่ง partition การสร้าง file system และการ mount โดยคำสั่งที่จะใช้ในการเพิ่ม hard disk ใหม่เข้าสู่ระบบมีดังต่อไปนี้
1. fdisk เป็นคำสั่งที่เอาไว้ใช้จัดการเรื่อง partition ของ Hard drive 2. partprobe เป็นคำสั่งที่เอาไว้สำหรัรันเพื่อ update partition table 3. mkfs.ext3 คำสั่งในการสร้าง file system ext3 4. e2lable คำสั่งสำหรับไว้ทำ label ของ partition 5. mount คำสั่งสำหรับการนำ partition ที่สร้างเสร็จแล้วมาใช้งาน
หลังจากที่ได้ทราบคำสั่งที่จะนำไปใช้เบื้องต้นแล้วเราลองมาดูวิธีการเลยดีกว่าว่าทำอย่างไรบ้าง
continue
ใน Red Hat Enterprise Linux ตั้งแต่ version 4.5 ขึ้นไปได้มี feature ใหม่ที่สามารถทำการ implement LVM ให้สามารถใช้งานแบบ HA LVM ได้โดยไม่ต้องใช้ CLVM (อยู่ใน GFS) เข้ามาช่วย
ในความเป็นจริงแล้วการใช้งาน LVM นั้นจะต้องมีโหนดใดโหนดหนึ่งเท่านั้นที่สามารถใช้งานได้ ถ้ามีโหนดมากกว่าหนึ่งโหนดเข้าไป access ข้อมูลใน VG เดียวกันจะทำให้เกิด metadata corrupt ขึ้นมา ดังนั้น HA LVM เป็นเพียงการช่วยให้เราสามารถใช้งาน VG เดิมได้ในตอนที่ เครื่องที่มี VG นั้นอยู่เกิด down ไป ในเรื่องของการตรวจสอบการทำงานของ VG นั้นจะเป็นหน้่าที่ของ rgmanager เพื่อให้ VG ใด VG หนึ่ง active เพียง VG เดียว
เอ้อ ลืมบอกไปว่าการ configure HA LVM นี้จะต้องให้ 1 VG มี 1 LV ที่ทำ HA LVM เท่านั้น เพราะว่าถ้ามีหลาย LV อาจจะทำให้เกิดการแย่งกัน update metadata ซึ่งจะทำให้เกิด metadata corrupt ขึ้นได้ อีกอย่าง อย่า!! ทำการ active VG เดียวกันพร้อมกันทั้ง 2 เครื่องโดยให้ Active LV คนละตัวกัน ถ้าคิดว่าทำไมมันยุ่งยากอย่างงี้ลองไปศึกษา CLVM แทนดูนะครับ เพราะว่าเจ้าตัวนี้ไม่ต้องมาคอนฟงคอนฟิกให้เสียเวลา
ในการติดตั้งใช้งาน HA LVM นี้สิ่งที่ต้องใช้มี เครื่อง 2 เครื่อง และ SAN หรือ NAS ที่เป็น Shared storage สำหรับให้เครื่องทั้งสองเข้าไปใช้งาน HDD ร่วมกันได้ ซึ่งก็เป็น concept เดียวกับ HA Cluster ทั้วไปสามารถอ่านเพิ่มเติมได้ที่ Linux Cluster Concept [Fail-Over and Load-Balancing Cluster]
Tags: HA LVM, Highly Available, Highly Available LVMPosted by (0) Comment
ความแตกต่างอย่างมากที่ NFS v4 กับ NFS version เก่า คือสามารถที่จะ export แบบ single directory ที่มีรูปแบบคล้ายๆกับ ftp หรือ web server ตัวอย่างเช่น export directory /shared และ client สามารถที่จะ mount /shared ได้ในรูปแบบ servername:/ เราสามารถที่จะแก้ไขไฟล์ที่ /etc/exports ได้ดังนี้
/shared *(rw,fsid=0,sync)
** การที่จะทำการ export แบบนี้ได้จะต้องเซ็ตให้มี option fsid=0 ด้วย และสามารถที่จะทำได้แค่ directory เดี่ยวเท่านั้น
จากนั้น restart service แล้วลองใช้คำสั่งด้านล่างที่เครื่องฝั่ง client
#mount -t nfs4 servername:/ /mnt/
ในการ export นี้ directory ภายใน /shared อย่างเช่น
/shared/data
/shared/home
client สามารถที่จะใช้งานได้เลยโดยไม่ต้องทำการ mount ใหม่อีกครั้ง แต่ถ้า subdirectory ภายใน /shared นั้นเป็นคนละ filesystem หรือคนละ partition เราจะต้องเพิ่ม option nohide ในไฟล์ /etc/exports เข้าไปด้วยเครื่อง client จึงจะเห็น subdirectory นั้นๆ ดังตัวอย่างข้างล่าง
/shared/data *(rw,nohide,sync)
Tags: Export, Export directory, NFS, NFS v4Posted by Comments Off
เมื่อเกิด error ของ LVM โดยขึ้นข้อความว่า “LVM error VG meta data inconsistent” เราสามารถทำการแก้ไขโดยทำตามขั้นตอนดังข้างล่างนี้ได้
Boot เข้าสู่โหมด Rescue
Restore VG Meta data โดยใช้คำสั่ง:
#lvm vgcfgrestore VG
Rescan physical devices โดยใช้คำสั่ง:
#lvm pvscan
Rescan vol groups โดยใช้คำสั่ง:
#lvm vgscan
ขั้นสุดท้ายคือการ active volume group โดยใช้คำสั่ง:
#lvm vgchange -ay VG
Posted by Comments Off
เมื่อต้องการลดเวลาการ rebuild Raid 1 เราสามารถใช้คำสั่งด้านล่างนี้ได้ครับ
#mdadm -C /dev/md0 -l1 -n2 /dev/sda1 /dev/sda2 --bitmap=internal
--bitmap (Write-intent bitmap) จะช่วยลดเวลาการ Sync ได้โดยถ้าเกิด disk offline temporarily, kernel crash จะทำการ Sync เฉพาะ Block ที่ถูกแก้ไขเท่านั้น แต่ถ้า block ไหนไม่ได้ถูก Sync จะถูก copy มาแทน
--bitmap=internal หมายถึงการเก็บ metadata ไว้ที่ Raid เลย
Posted by Comments Off
การเพิ่มเนื้อที่ในการทำ Raid Software ของทาง linux นั้นมีการแก้ไขที่ไม่ยากอย่างที่คิด โดยสมมติให้เรามีการทำ Software Raid 5 อยู่ 1 deivce คือ /dev/md0 และมีจำนวนของ HDD ที่ทำ Raid 5 อยู่ทั้งหมด 3 ลูก และเราต้องการเพิ่มเนื้อเนื่องจากสาเหตุใดก็ตามแต่ เราสามารถทำได้โดยเพิ่ม HDD เข้ามาตามจำนวนที่ต้องการ (ขอเน้นนิดนะครับ HDD ใหม่ควรที่จะมีเนื้อที่เท่ากับ HDD เดิมที่ใช้ทำ Raid อยู่) โดยผมสมมติว่าต้องการเพิ่ม HDD 1 ลูก ชื่อ device /dev/sdd1 นะครับ เมื่อทำการเพิ่ม HDD เข้าไปแล้ว ให้ใช้คำสั่งด้านล่างนี้เพื่อเพิ่ม HDD เข้าสู่ Raid device
#mdadm /dev/md0 -a /dev/sdd1
จากนั้นให้ run คำสั่งด้านล่างเพื่อเพิ่มขนาดของ Raid device โดยที่
-n คือจำนวนของ HDD ทั้งหมดของ Raid Device
--backup-file คือ การ save critical section เพื่อป้องกันการเกิดเหตุการณ์ล้มเหลว แล้วจะไม่เกิดอันตรายต่อข้อมูลของเรา
#mdadm -G /dev/md0 -n4 --backup-file=/tmp/critical-section
ขั้นตอนสุดท้ายให้ทำการ Resize Filesystem ครับ โดยใช้คำสั่ง
#resize2fs /dev/md0
เมื่อเสร็จทุกขั้นตอนแล้วให้ทำการรันคำสั่ง
#cat /proc/mdstat
ถ้าเห็นสถานะ [UUUU] แสดงว่าใช้ได้แล้วครับ :)
Tags: Grow a Raid 5, Raid, Raid 5, Re-shape Raid 5