หน้าเว็บ

แสดงบทความที่มีป้ายกำกับ สารบรรณออนไลน์ แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ สารบรรณออนไลน์ แสดงบทความทั้งหมด

วันพุธที่ 25 มีนาคม พ.ศ. 2558

lvreduce และ lvextend

หลังจากที่ใช้งานสารบรรณออนไลน์มาได้หลายเดือน รับหนังสือจากกระทรวงได้แบบไม่มีปัญหา พอจะมีการจัดอบรมครั้งใหญ่ (หรือเปล่า) ของกลุ่มบริหาร กระทรวงฯ  ก็เลยจะปรับพื้นที่ดิสที่เหลือในเครื่อง ให้รองรับกับการใช้งานระดับจังหวัด (สสจ รพท รพช สสอ) หนังสือก็จะมีมากขึ้น และใช้งานพื้นที่เพิ่มขึ้น เช็คจาก server แล้ว ปรากฎว่าตอนที่แบ่งพื้นที่ ใช้ lvm ในการแบ่งแบบอัตโนมัติ ซึ่งมันแบ่งไปให้ /home ซะ 40gb แล้วแบ่งไว้ให้ / 40gb เหมือนกัน อ้าว /home ไม่ได้ใช้งานเลย ก็เลยจะปรับให้พื้นที่เหลือเพียง 2gb และเอาที่เหลือไปเพิ่มให้กับ / แทน คำสั่งที่ทำครั้งแรก ทำให้ระบบ พังไปเลย ก็เลยมาเรียบเรียงคำสั่ง ที่ใช้งานสำหรับการ ลด path อื่น มาเพิ่มให้อีก path นึง ...ยังไม่พูดถึงการเพิ่มดิสนะ อันนั้นแค่ extend ไม่ได้ยุ่งยากอะไรนัก เดี๋ยวเขียนอีกรอบ อะ.. ว่าไปๆ

reboot เครื่องซักรอบครับ เอาฤกษ์เอาชัย หลังจากบูทมาแล้ว เข้าด้วย user root แล้ว umount path ที่ต้องการจะลดขนาดครับ (ใช้ df -h เพื่อดูชื่อ path ที่ต้องการลด)
umount /dev/mapper/VolGroup-lv_home
เสร็จแล้ว ให้ตรวจเช็คก่อนครับ ไม่ทำไม่ได้ เพราะมันไม่ผ่านคำสั่งให้

เช็คด้วยคำสั่งนี้ ต้อง pass ทั้ง 5 ข้อครับ
e2fsck -f /dev/mapper/VolGroup-lv_home

หลังจากผ่านแล้ว ก็ลดขนาดของ path ที่ต้องการโดยใส่จำนวนที่ต้องการให้ "เหลือ" ไว้ครับ ตัวอย่างคือลดเหลือ 4GB ครับ
resize2fs -p /dev/mapper/VolGroup-lv_home 4G
จากนั้นสั่งย่อ
lvreduce -L 4G /dev/mapper/VolGroup-lv_home
แล้วตรวจสอบให้ pass 5 ครั้งเหมือนเดิม
e2fsck -f /dev/mapper/VolGroup-lv_home
เนื่องจากไม่ได้จะแบ่งไปให้ใช้ path อื่นอีก พื้นที่ที่ตัดออกมาให้เติมกับ / ให้เต็มทั้งหมด [ใช้ +100%FREE แต่ถ้าจะระบุเป็นจำนวน GB ก็ใส่ +xG (x=จำนวนGB)]
lvextend -l +100%FREE /dev/mapper/VolGroup-lv_root
หรือใช้ -L ใหญ่ (centos) ต้องลองๆ คำสั่งดู 555 
lvextend -L /dev/path 
เขียนลงให้ครบๆ
resize2fs -p /dev/mapper/VolGroup-lv_root
ตรวจสอบด้วย fdisk ครับ ว่าดิสที่ถูกปรับ ตรงตามที่ต้องการแล้ว
fdisk -l
ถ้าตรงตามที่ต้องการแล้วก็ให้ mount path ที่ย่อกลับเข้าระบบเหมือนเดิม
mount /dev/mapper/VolGroup-lv_home
ตรวจสอบว่า path ที่ย่อและขยาย ถูกต้องด้วย df
df -h
สุดท้าย reboot เพื่อเช็คระบบว่าทำงานได้สมบูรณ์ครับ ถ้าจะไม่รีบูท ก็ได้เช่นกัน



วันเสาร์ที่ 25 ตุลาคม พ.ศ. 2557

แก้การแสดงภาษาไทยเป็นเครื่องหมาย ???? จากฐานข้อมูล mysql

การแก้ไขปัญหาของ server ในการนำเข้าข้อมูลด้วยโปรแกรมสารบรรณออนไลน์ Archives ของกระทรวงสาธารณสุข หลังจากที่ได้ใช้งาน version 1 มาได้พักใหญ่ๆ (เป็นปี) ปัญหาหลังจากย้าย server เนื่องจากเครื่องเดิมเสีย ก่อนหน้านั้นสามารถใช้งานได้ปกติดี ไม่มีปัญหาอะไรในการใช้งาน จะมีเพียงก็แต่ bug ในส่วนของ user ที่จะใช้งาน ซึ่งทำให้ รพช ภายในจังหวัดใช้งานร่วมด้วยได้ ก็เลยต้องปล่อยเลยตามเลย จนมาเจอจังๆ เอาเข้ากับกลุ่มบริหารฯ สป. ซึ่งคุยกับทางผู้บริหารระดับสูงเอาไว้ว่า ทุกแห่งสามารถใช้ได้ภายในสิ้นปี???? แย่อยู่นา อบรม version 2 มาตั้งแต่มิถุนา... ณ ตอนนี้ 4 เดือน ยังไม่นิ่ง ก็เลยยังไม่กล้าที่จะปรับเวอร์ชั่น และเรียก รพช อบรมเรื่องการใช้งาน เสียวๆ โดนด่าตามหลังเหมือนกัน อ้าว เขียนวิธีแก้ภาษาไทยในการนำเข้าฐานข้อมูล แต่ดันพร่ำเพ้ออะไรของกูวะเนี่ย 5555 เอาเป็นว่า เรื่องเวอร์ชั่น รอจนกว่า อ.คมฯ กับ อ.ป๊อบ ปล่อยตัวแน่นอนก็แล้วกันเนอะ
##############
การแก้ไขปัญหาในส่วนของภาษาไทยที่นำเข้าไปใน mysql ไม่เป็นภาษาไทย แต่กลายเป็น ???

1. ตรวจสอบตาราง ecmsinbox ว่าเป็น utf8 หรือเป็น tis620 ถ้าเป็น tis ก็ให้เปลี่ยนโครงสร้างตาราง รวมไปถึงฟิลด์แต่ละฟิลด์ในตารางนั้นด้วย จะใช้ navicat หรือ phpmyadmin ก็แล้วแต่ ตามสะดวก

2. เข้าไปแก้ไขไฟล์ my.cnf หรือ my.ini เพื่อเพิ่มเติมให้ รับ-ส่ง เป็น utf8 ซึ่งค่าปกติเดิม ไม่ได้กำหนดมาให้ ต้องทำเอง... เพิ่มเติมตามหัวข้อนี้ เพียงสามบรรทัดครับ ให้เพิ่มในบรรทัดสุดท้ายของหัวข้อนั้นๆ ก็ได้ครับ หาง่ายดี

          แบบเดิมแก้แบบนี้ หรือในบาง version ของ mysql
[client]
default-character-set=utf8

[mysqld]
collation_server=utf8_unicode_ci
character_set_server=utf8
หลังจากแก้ไขเสร็จแล้ว ก็ไป restart mysql ซักรอบ แล้วลองรับ-ส่งข้อมูลภาษาไทยดู ถ้าได้ ก็จบครับ ไม่ต้องไปต่อที่ apache

แบบใหม่ที่ทำการแก้ไข (version 5.7.24)
[mysqld] 
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
init-connect='SET collation_connection = utf8_unicode_ci'
character-set-server = utf8
skip-character-set-client-handshake
หลังจากแก้ไขเสร็จแล้ว ก็ไป restart mysql เสร็จแล้วตรวจสอบด้วยคำสั่งใน command line
show variables like "%character%";show variables like "%collation%";
จะได้เป็น utf8 ทั้งหมด จ๊บ