วิธีการใช้ tape backup บนลีนุกซ์

การอ่านหรือเขียนข้อมูลของเทป (tape) จะแตกต่างจากฮาร์ดดิสก์ (hard disk) คือ เทปต้องอ่านหรือเขียนแบบต่อเนื่อง (sequential access) ไม่สามารถอ่านได้แบบระบุตำแหน่ง (random access) เหมือนฮาร์ดดิสก์ได้ ทำให้การอ่านหรือเขียนข้อมูลที่ต้องการจะทำได้ช้ากว่าฮาร์ดดิสก์ แม้จะมีโปรแกรมช่วยให้ระบุตำแหน่งข้อมูลบนเทปได้บ้าง แต่กว่าจะอ่านข้อมูลได้ ก็ต้องรอม้วนเทปหมุนไป ณ ตำแหน่งนั้น เมื่อเปรียบเทียบกับการใช้ฮาร์ดดิส ที่มีหัวอ่านและจานเก็บข้อมูล ที่ชี้ไปยังตำแหน่งที่ต้องการได้เลย

คำสั่งที่ใช้ในการอ่านหรือเขียนก็แตกต่างกัน เช่นต้องการ copy ไฟล์ลงบนฮาร์ดดิสก์ เราใช้คำสั่ง cp  แต่ถ้าต้องการอ่านหรือเขียนข้อมูลจากเทปเราต้องใช้คำสั่งที่อ่านแบบต่อเนื่องเช่นคำสั่ง tar หรือ  cpio บนลีนุกซ์หรือยูนิกซ์

เราลองมาดูขั้นตอนการใช้เทปบนลีนุกซ์กัน โดยจะใช้คำสั่ง tar เพื่อเขียนและอ่านข้อมูลในเทป ทดสอบบน CentOS 6

Continue reading “วิธีการใช้ tape backup บนลีนุกซ์”

อ่านเขียนดิสก์ NTFS บนลีนุกซ์

ลีนุกซ์รองรับ filesystem ของฮาร์ดดิสก์ได้หลายรูปแบบ ทำให้เราสามารถใช้ลีนุกซ์อ่านหรือเขียนไฟล์บนดิสก์ที่มาจาก OS อื่นๆ ได้

ลักษณะการใช้ที่เจอบ่อยคือลงลีนุกซ์บนเครื่องเดียวกับ Windows แล้วอยากให้ลีนุกซ์อ่านหรือเขียนไฟล์ลงบนดิสก์หรือพาร์ทิชั่นที่เป็น Windows

หรืออีกแบบคือนำฮาร์ดดิสก์ หรือ USB Disk ที่ format มาเป็น NTFS มาต่อเครื่องที่ติดตั้งลีนุกซ์

ในบทความนี้ขอแนะนำวิธีการติดตั้ง ntfs-3g บน CentOS 6 เพื่อใช้ mount ดิสก์ที่เป็น NTFS บนลีนุกซ์  ให้สามารถอ่าน เขียนไฟล์ได้

Continue reading “อ่านเขียนดิสก์ NTFS บนลีนุกซ์”

copy ไฟล์ระหว่างเครื่องด้วย rsync

เคยไหมต้อง copy ไฟล์ จำนวนมาก จากเครื่องหนึ่งไปอีกเครื่องหนึ่ง เช่นต้องการย้ายข้อมูลไปอีกเซิร์ฟเวอร์นึง หรือต้องการสำรองข้อมูลไปไว้อีกเครื่อง

แต่ก่อนถือเป็นงานยากของผู้ดูแลระบบที่จะย้ายไฟล์ได้ ยิ่งถ้ามีหลายไดเร็คทอรีย่อย มีหลายไฟล์ หรือต้องการเก็บค่า permission หรือ owner, group ของไฟล์ไว้ด้วย อาจต้องใช้คำสั่ง tar ก่อน แล้วค่อย copy ไฟล์ไป

ปัญหาก็คือหากระหว่างนั้นมีการเปลี่ยนแปลงไฟล์ เพิ่ม ลบ แก้ไข บนเครื่องต้นทาง อาจจะต้อง copy ไฟล์ใหม่ทั้งหมด หรือใช้คำสั่ง find เพื่อตรวจสอบ เนื่องจากไม่รู้ว่าไฟล์อะไรเปลี่ยนแปลงไปบ้าง

บทความนี้ขอแนะนำวิธีง่ายๆ คือใช้คำสั่ง rsync เพื่อใช้ copy ไฟล์ระหว่างเครื่อง

Continue reading “copy ไฟล์ระหว่างเครื่องด้วย rsync”

โคลนนิ่ง Linux, Windows ด้วย Clonezilla – ตอนที่ 3 restore ไฟล์ image

หลังจากที่สร้าง image ด้วย Clonezilla เรียบร้อยแล้ว ตอนที่ 3 นี้จะทดลอง restore ไฟล์ image ที่สร้างได้ลงบนเครื่องอื่นๆ

คำเตือน การ restore ไฟล์ image จะเป็นการลบแล้วเขียนข้อมูลลงบนดิสก์ของเครื่อง ทำให้ไฟล์ข้อมูลทั้งหมดที่มีอยู่เสียหายได้

ในที่นี้จะเป็นการ restore ไฟล์ image จาก Samba Server ที่ใช้เก็บไฟล์ตอนทำ image

Continue reading “โคลนนิ่ง Linux, Windows ด้วย Clonezilla – ตอนที่ 3 restore ไฟล์ image”

โคลนนิ่ง Linux, Windows ด้วย Clonezilla – ตอนที่ 2 สร้างไฟล์ image

ในตอนนี้จะแสดงตัวอย่างการใช้ Clonezilla live บู๊ตเพื่อสร้างไฟล์ image ของเครื่องต้นแบบที่ติดตั้ง Windows 7

แล้วเก็บไฟล์ image ที่ได้ไว้บน Samba File Server เพื่อสามารถใช้ restore ได้บนหลายๆ เครื่องพร้อมๆ กัน

ตัวอย่างหน้าจอเครื่อง Windows 7 ที่จะใช้เป็นต้นแบบ มีสองไดร์ฟคือ C และ D

Continue reading “โคลนนิ่ง Linux, Windows ด้วย Clonezilla – ตอนที่ 2 สร้างไฟล์ image”

โคลนนิ่ง Linux, Windows ด้วย Clonezilla – ตอนที่ 1 แนะนำโปรแกรม

งานอย่างหนึ่งของผู้ดูแลระบบ ในการดูแลเครื่องไม่ว่าจะเพิ่งซื้อเครื่องใหม่เข้ามาในองค์กร หรือเมื่อใช้งานเครื่องไปนานๆ แล้วพบปัญหาผู้ใช้งานบ่นว่าช้า หรือมีโปรแกรมเวอร์ชั่นใหม่ออกมา คือการติดตั้งระบบปฏิบัติการ (OS) ใหม่

หากมีแค่ไม่กี่เครื่อง ผู้ดูแลระบบก็สามารถติดตั้งทีละเครื่อง ค่อยๆ จัดการไปได้ไม่ลำบากนัก แต่ถ้ามีเครื่องเป็นจำนวนหลักสิบหลักร้อย การที่จะทำทีละเครื่องคงเป็นงานที่ไม่สนุกนัก ใช้เวลานานมาก เพราะไม่ใช่แค่ลง OS เท่านั้น ยังต้องปรับปรุง update patch ติดตั้งโปรแกรมต่างๆ เพิ่มเติมอีก

สมมติว่าเครื่องทั้งหมดเป็นเครื่องยี่ห้อ รุ่นเดียวกัน เสียบการ์ด hardware ต่างๆ ในเครื่องเหมือนกัน ขนาดฮาร์ดดิสก์เท่ากัน วิธีการหนึ่งที่ช่วยให้งานง่ายขึ้นคือลง OS และโปรแกรมต่างๆ ให้เสร็จบนเครื่องเดียวก่อน แล้วสร้างเป็น images ไว้ แล้วค่อยเอา images ที่ได้ไป restore หรือโคลนลงบนเครื่องอื่นๆ โปรแกรมประเภทนี้มีหลากหลายโปแกรมทั้งแบบ ฟรีแวร์และจ่ายเงินซื้อ เทคนิค ข้อจำกัดของแต่ละโปรแกรมก็แตกต่างกันไป

ในที่นี้จะขอแนะนำ Clonezilla สำหรับโคลนนิ่งดิสก์ ซึ่งสามารถนำไปโคลนนิ่งเครื่องได้ทั้ง Windows, Linux หลักการทำงานจะเหมือนกับโปรแกรมโคลนนิ่งทั่วไป คือสร้าง images จากเครื่องต้นแบบที่ลงสร็จเรียบร้อยแล้ว แล้วนำ images ที่ได้ ไป restore หรือโคลนลงบนเครื่องอื่นๆ

Continue reading “โคลนนิ่ง Linux, Windows ด้วย Clonezilla – ตอนที่ 1 แนะนำโปรแกรม”

เก็บสำรองคอนฟิกของลีนุกซ์

เพื่อป้องกันกรณีเครื่องเซิร์ฟเวอร์อาจเกิดความเสียหายไม่ว่าจะเกิดจากเหตุอะไร แนะนำให้เก็บสำรองคอนฟิกไว้

ไฟล์คอนฟิกของลีนุกซ์เกือบทั้งหมด จะอยู่ในไดเร็คทอรี /etc ส่วนใหญ่จะเป็น text file มีขนาดเล็กๆ ดังนั้นแนะนำให้เก็บทุกไฟล์ที่อยู่ในนี้

วิธีการเก็บสำรองไฟล์แบบง่ายที่สุดน่าจะเป็นการใช้คำสั่ง tar

ตัวอย่างการเก็บไฟล์ทั้งหมดที่อยู่ใน /etc

[root@server ~]# cd /
[root@server /]# tar zcvpf server-backup-etc-20111031.tar.gz etc/
etc/
etc/sysctl.conf
etc/inittab
etc/idmapd.conf
etc/pki/
etc/pki/nssdb/
...

คำแนะนำ

  •  tar บนลีนุกซ์ สามารถระบุออปชั่น z เพื่อบีบขนาดของไฟล์ได้เลย
  • การระบุไดเร็คทอรีเวลาใช้คำสั่ง tar ให้เอาเครื่องหมาย / ที่อยู่หน้าไดเร็คทอรีออก มิฉะนั้นเวลาไปแตกไฟล์ (untar) ออก อาจพลาดไปเขียนไฟล์ทับ /etc ของเครื่องปลายทางได้

ตัวอย่างไฟล์ tar ที่ได้

[root@server /]# ls -l server-backup-etc-20111031.tar.gz
-rw-r--r-- 1 root root 5332341 Oct 31 20:52 server-backup-etc-20111031.tar.gz

ก็ขึ้นอยู่กับแต่ละคนว่าจะเก็บไฟล์ tar นี้ไว้ที่ไหน เช่นเก็บใส่ USB Drive หรือ ส่งไฟล์ (transfer file) ไปเครื่องที่อยู่ที่อื่น

ส่วนไฟล์คอนฟิกอื่นๆ ต้องขึ้นอยู่กับโปรแกรมที่ติดตั้ง บางโปรแกรมอาจติดตั้งอยู่ใน /opt หรือ /usr/local ต้องลองหาดู

อีกอย่างที่ควรระวัง คือเวลาติดตั้งโปรแกรมใหม่ หรือทดลองรันโปรแกรมแล้วใช้งานเลย โดยไม่ได้เข้าไปแก้ไขไฟล์คอนฟิก ที่อยู่ใน /etc ให้เรียบร้อย ทำให้เวลามีการ reboot เครื่องใหม่ เซอร์วิสบางอย่างอาจไม่ได้รันขึ้นมาเหมือนเดิม

โดยส่วนตัวแล้ว นอกจากเก็บไฟล์ที่อยู่ใน /etc แล้ว จะรันคำสั่งดังต่อไปนี้เพื่อเก็บสถานะของเครื่อง ณ ขนะนั้นจริงๆ ว่ารันอะไรอยู่บ้าง เพื่อจะได้ใช้เปรียบเทียบหลังจากที่ reboot เครื่องใหม่

  • uname -a
  • hostname
  • ps -ef
  • free
  • netstat -an
  • netstat -rn
  • ifconfig -a
  • mii-tool
  • iptables -L -v -n
  • sestatus
  • lsmod
  • dmesg
  • mount
  • df -k
  • pvdisplay
  • vgdisplay
  • lvdisplay
  • cat /proc/mdstat

ลองนำไปใช้กันดูครับ หวังว่าเซิร์ฟเวอร์ของทุกท่านจะปลอดภัย

ติดตั้ง Tivoli Storage Manager V6.2 Server บน CentOS 5.6 (x86_64)

บทความนี้ แสดงตัวอย่างการติดตั้ง Tivoli Storage Manager V6.2 Server บน CentOS 5.6 (x86_64) แบบ command line

เพื่อความสะดวก ขอเขียนย่อ Tivoli Storage Manager เป็น TSM

Continue reading “ติดตั้ง Tivoli Storage Manager V6.2 Server บน CentOS 5.6 (x86_64)”

ว่าด้วยเรื่องเวลา atime, mtime, ctime ของไฟล์บน Unix

เวลาของไฟล์บน Unix มีประโยชน์อย่างมากสำหรับผู้ใช้ ไม่ว่าจะใช้ดูเพื่อหาว่า ไฟล์นี้ถูกเปลี่ยนแปลงไปเมื่อไร เก่าไป หรือใหม่กว่าอย่างไร

อีกประการ ยังถูกใช้โดยโปรแกรม Backup เพื่อเลือกไฟล์สำหรับการทำ Backup แบบ Incremental คือ เลือกเฉพาะไฟล์ที่เพิ่มขึ้นใหม่ หรือไฟล์ที่ถูกเปลี่ยนแปลงเท่านั้น

เวลาของไฟล์บน Unix มีอยู่ 3 ค่า คือ atime, ctime, mtime ในที่นี้จะอธิบายการเปลี่ยนแปลงของค่าเวลาต่างๆ ดังนี้

Continue reading “ว่าด้วยเรื่องเวลา atime, mtime, ctime ของไฟล์บน Unix”

สร้าง Storage Server ง่ายๆ ด้วย FreeNAS

เดี๋ยวนี้เดินตามร้านคอมพิวเตอร์เริ่มมีอุปกรณ์ประเภท NAS (Network Attached Storage Server) ขายเป็น box สำเร็จรูป เพื่อผู้ใช้นำไปสำรองข้อมูล แชร์ไฟล์ได้หลายเครื่อง แถมบางยี่ห้อสามารถรันโปรแกรม BitTorrent เพื่อโหลดไฟล์ได้

แทนที่จะซื้อ box ใหม่ ลองหาเครื่องเก่าๆ ที่ยังพอใช้งานได้อยู่ หากขนาดพื้นที่ดิสก์เก่าไม่พอ ก็ซื้อเฉพาะฮาร์ดดิสก์เท่านั้น แล้วติดตั้งโปรแกรม FreeNAS ภายในไม่ถึง10 นาที  (ไม่รวมเวลาดาวน์โหลดไฟล์ iso ขนาด 130 กว่า MB นะ) คุณก็จะได้ Storage Server ไว้ใช้ อย่างง่ายดาย คุณสมบัติ (features) เพียบ…

คำเตือน

  • FreeNAS จะล้าง (Format) ข้อมูลทั้งหมดในดิสก์ของเครื่อง
  • การทดลองรันแบบ LiveCD ค่าคอนฟิกที่สร้างทั้งหมดจะหายไป เมื่อมีการรีบู๊ตหรือปิดเครื่อง

Continue reading “สร้าง Storage Server ง่ายๆ ด้วย FreeNAS”