Secure Erase
ในการใช้งาน SSD ควรจะทำการ Secure Erase เป็นระยะๆ (ความถี่ขึ้นอยู่กับรุ่นของ SSD แต่โดยทั่วไปแล้ว เพื่อให้จำง่ายก็ควรทำประมาณ 1 ครั้ง/ปี)
ในที่นี้จะใช้คำสั่งบน Command Line ของลินุกซ์ในการทำ Secure Erase โดยจะทำ Secure Erase บนไดรฟ์ CoW ซึ่งตามตัวอย่างก็คือ /dev/sdb
เนื้อหา
คำเตือน
ต้องตรวจสอบให้แน่ใจว่าไดรฟ์ที่จะทำ Secure Erase เป็นไดรฟ์ CoW ที่ถูกต้อง เพราะการทำ Secure Erase จะลบข้อมูลทุกอย่างในไดรฟ์ และไม่สามารถกู้ข้อมูลคืนได้
เนื่องจากการทำงานตามเอกสารนี้ เป็นการทำงานโดยใช้คำสั่งมาตรฐาน ซึ่งหากไดรฟ์ไม่รองรับมาตรฐานก็อาจทำให้เกิดความเสียหายได้ หากไม่แน่ใจว่า SSD รุ่นที่ใช้งานสามารถรองรับมาตรฐานได้ถูกต้อง ก็ให้ทำ Secure Erase โดยใช้โปรแกรมของผู้ผลิตแทน
ทั้งนี้ ผู้ใช้งานจะต้องรับผิดชอบกับผลลัพธ์ที่เกิดขึ้นเอง ผู้เขียนไม่รับผิดชอบใดๆ กับความเสียหายที่อาจจะเกิดขึ้นจากการทำตามขั้นตอนในเอกสารนี้
เตรียมพร้อม
การทำ Secure Erase สามารถทำได้จาก Console ของเครื่องเซิร์ฟเวอร์ หรือใช้ ssh เข้าไปจากเครื่องที่ไม่ใช่เครื่องลูกในระบบ Diskless ก็ได้
เมื่อ login ด้วย root เรียบร้อยแล้ว ก็สามารถทำตามขั้นตอนได้
หยุดระบบ Diskless
ก่อนทำ Secure Erase จะต้องหยุดการทำงานของระบบ Diskless ทั้งหมดก่อน โดยปิดเครื่องลูกในระบบ Diskless ทั้งหมด แล้วสั่งคำสั่งนี้ที่เซิร์ฟเวอร์
root@diskserv:~# /etc/rc.d/init.d/iet stop
รอสักครู่ระบบ Diskless จะหยุดทำงาน จากนั้นให้ปิดการใช้งานพาร์ทิชั่น /cow โดยใช้คำสั่ง
root@diskserv:~# umount /cow
ระบบจะหยุดใช้งานพาร์ทิชั่น /cow
ตรวจสอบไดรฟ์
เมื่อหยุดการทำงานของระบบ Diskless เรียบร้อยแล้ว
root@diskserv:~# hdparm -I /dev/sdb
คำสั่งนี้จะตรวจสอบสถานะของไดรฟ์ เพื่อให้แน่ใจว่าถูกต้อง โดยจะแสดงข้อมูลในหัวข้อ Security ดังนี้
Security: Master password revision code = 65534 supported not enabled not locked not frozen not expired: security count not supported: enhanced erase 20min for SECURITY ERASE UNIT. 400min for ENHANCED SECURITY ERASE UNIT.
ให้ตรวจสอบตรงบรรทัด not enabled ซึ่งแสดงว่ายังไม่มีการใส่รหัสผ่าน และบรรทัด not frozen ซึ่งหมายความว่าไดรฟ์ยังคงใช้งานอยู่
หากสองบรรทัดนี้ไม่มีคำ not นำหน้า นั่นคือมีเฉพาะคำว่า enabled หรือเฉพาะคำว่า frozen เท่านั้น ไม่ควรทำขั้นต่อไป ให้ใช้วิธีในหัวข้อ #fstrim แทน
ทำ Secure Erase
การทำ Secure Erase มีสองขั้นตอน คือ กำหนดรหัสผ่าน และสั่ง Secure Erase (ซึ่งต้องระบุรหัสผ่าน) โดยเมื่อ Secure Erase เสร็จ ไดรฟ์จะลบรหัสผ่านออกด้วย
การกำหนดรหัสผ่านให้ใช้คำสั่งนี้ (ในที่นี้จะกำหนดรหัสผ่านว่า pass)
root@diskserv:~# hdparm --user-master u --security-set-pass pass /dev/sdb
security_password="pass"
/dev/sdb:
Issuing SECURITY_SET_PASS command, password="pass", user=user, mode=high
จากนั้นให้ตรวจสอบว่ามีการกำหนดรหัสผ่านโดยใช้คำสั่งนี้อีกครั้ง
root@diskserv:~# hdparm -I /dev/sdb
ซึ่งสถานะจะต้องเปลี่ยนไปโดยบรรทัด not enabled จะต้องเปลี่ยนเป็น enable ดังนี้
Security:
Master password revision code = 65534
supported
enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
20min for SECURITY ERASE UNIT. 400min for ENHANCED SECURITY ERASE UNIT.
ขั้นตอนต่อไปก็เป็นการสั่ง Secure Erase โดยใช้คำสั่งนี้
root@diskserv:~# hdparm --user-master u --security-erase pass /dev/sdb
security_password="pass"
/dev/sdb:
Issuing SECURITY_ERASE command, password="pass", user=user
คำสั่งนี้จะเป็นการเขียนข้อมูลทับทั้งไดรฟ์ ซึ่งกรณี SSD จะใช้เวลาไม่นานนัก (ทดสอบกับ OCZ Vertex4 128 GB ใช้เวลาประมาณ 15 วินาที)
จากนั้นให้ตรวจสอบว่าการทำ Secure Erase เสร็จสมบูรณ์ โดยใช้คำสั่งนี้อีกครั้ง
root@diskserv:~# hdparm -I /dev/sdb
ซึ่งสถานะจะต้องเปลี่ยนไปโดยบรรทัด enabled จะต้องเปลี่ยนกลับเป็น not enable ดังนี้
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
20min for SECURITY ERASE UNIT. 400min for ENHANCED SECURITY ERASE UNIT.
ก็เป็นอันเสร็จสิ้นในการทำ Secure Erase ให้เริ่มระบบตามขั้นตอนในหัวข้อ #นำไดรฟ์กลับมาใช้งาน
fstrim
หาก SSD อยู่ในสถานะ frozen ซึ่งไม่สามารถทำ Secure Erase ได้ ก็ยังสามารถปรับปรุงประสิทธิภาพได้โดยการใช้ fstrim แทน โดยเริ่มจากปิดเครื่องลูกทั้งหมด แล้วหยุดระบบ Diskless โดยใช้คำสั่ง
root@diskserv:~# /etc/rc.d/init.d/iet stop
รอสักครู่ระบบ Diskless จะหยุดทำงาน จากนั้นให้ลบไฟล์ CoW ทั้งหมด โดยใช้คำสั่ง
root@diskserv:~# rm /cow/*
จากนั้นใช้คำสั่ง fstrim ดังนี้
root@diskserv:~# fstrim -v /cow
/cow: 125963124736 bytes was trimmed
สังเกตตัวเลขบอกไบต์ที่โปรแกรมได้ทำการ trim ควรจะมีขนาดใกล้เคียงกับขนาดของ SSD
หากเนื้อที่ที่โปรแกรม trim ได้มีขนาดน้อยกว่าขนาดของ SSD มากๆ ให้ unmount และ mount ไดเรกทอรี CoW โดยใช้คำสั่ง
root@diskserv:~# umount /cow root@diskserv:~# mount /cow
จากนั้นให้สั่ง fstrim อีกครั้ง
เมื่อ trim เรียบร้อยแล้ว ให้เริ่มระบบตามหัวข้อ #เริ่มระบบ Diskless
นำไดรฟ์กลับมาใช้งาน
การนำไดรฟ์กลับมาใช้งาน จะมี 4 ขั้นตอน คือ
สร้างพาร์ทิชั่น
ทำตามขั้นตอนในหัวข้อ ปรับแต่ง Filesystem#สร้างพาร์ทิชั่น
ฟอร์แมตพาร์ทิชั่น
ทำตามขั้นตอนในหัวข้อ ปรับแต่ง Filesystem#ฟอร์แมตพาร์ทิชั่น
นำพาร์ทิชั่นกลับมาใช้งาน
ใช้คำสั่งต่อไปนี้ในการนำพาร์ทิชั่นกลับมาใช้งาน
root@diskserv:~# mount /cow
เริ่มระบบ Diskless
ใช้คำสั่งต่อไปนี้ในการเริ่มใช้ระบบ Diskless
root@diskserv:~# /etc/rc.d/init.d/iet start