Thử thêm cái coi lào
Jul
19
Sự cố Server Linux Việt Nam ngày 18/07/2008
hrockvn , 13:46 , Nhật ký , Nhận xét: (2) , Trích dẫn: (0) , Đọc: (1063) , Via Tự viết
Lớn | Vừa | Nhỏ
Lớn | Vừa | Nhỏ
Hôm qua, 18/07/2008, server Linux tại Việt Nam của VNNetsoft bị lỗi file hệ thống của ổ cứng backup, khiến server ngừng hoạt động từ 10h18' đến 13h48'. Sự cố đã được khắc phục. Sau hôm qua, mình đã học thêm được nhiều kinh nghiệm.
Sáng 18/07/2008, lúc 5h15' mình dậy và vào diễn đàn www.daoduytu.net để lượn vài vòng (diễn đàn được đặt tại server này). Mọi thứ ổn. Rất ổn.
Check mail. Có email report rằng vừa mới backup xong server. Server backup đều đặn tuần 3 bản vào Chủ nhật, thứ 3 và thứ 6. Hôm qua là bản backup ngày thứ 6. Backup complete lúc 0h14' ngày 18/07/2008.
Mọi thứ ổn. Lên cty đi làm
Đến cty mất điện --> đi sửa cái máy tính hỏng của chị Dung kế toán và mấy cái main + nguồn màn LCD. Nhân tiện qua bên quận Thanh Xuân sửa cái con VPN server.
Khoảng 10h30 đến quận. Lại té vào diễn đàn www.daoduytu.net chơi tí ---> Đứt ---> Tưởng nó đứt tí thôi ---> Đứt mãi ---> hâm rồi.
11h hơn quay về Cty. Định về cty nhưng nghĩ sao lại qua bên HSC (datacenter của VNNetsoft). Bởi vì server mấy ngày nay đơ đơ hâm hâm nên muốn qua đó xem tận mắt xem nó có bị làm sao không.
Vào phòng gặp Mr Điệp. Mr Điệp thông báo tin sét đánh: Server không khởi động được. Híc, như thế là nó hỏng thật chứ có phải giả vờ đâu. Chẹp.
Lên phòng datacenter, check cái server. Hiện tại nó không boot lên được.
Nguyên nhân: Các partition không được mount vào các folder tương ứng. Lúc đó, chỉ xác định là đó là nguyên nhân nó không boot được server. Còn nguyên nhân khiến hệ thống down vẫn chưa rõ.
Xem qua một chút ---> reboot vài lần thấy toàn báo lỗi khi mount phân vùng.
Quay về cty lấy laptop lên HSC ngồi thôi. Nhân tiện mang bộ đĩa CentOS để nếu ko cứu được thì cài lại với mấy cái đĩa trắng để ghi nếu cần.
May làm sao là nó vẫn còn vào được shell. Mặc dù các lệnh cơ bản như tail, cat, netstat là đứt hết. Chỉ dùng được mấy lệnh như mount, cd, fdisk....
Kiểm tra các phân vùng thì thấy tất cả đều bị ở thuộc tính read-only. Không thể sửa được gì mặc dù permission vẫn có -rw--.
Lỗi lạ chưa bao giờ gặp.
Gọi bạn Hoàng lên nhờ trợ giúp.
Google nào.
Lỗi read-only trên Linux.
Chạy lệnh sau:
#mount -n -o remount /
Các file lại sửa xóa như thường. Nhưng sự cố vẫn chưa khắc phục được. Thử đi thử lại file cấu hình phân vùng tại /etc/fstab vẫn không giải quyết được vấn đề --> Kết luận, không phải lỗi phân vùng.
Reboot lại máy.
Tự dưng lần reboot này lại mới nhìn kỹ quá trình boot. Có báo lỗi một chỗ khi boot đến đoạn mount cái /backup vào /dev/sdb1.
Đoạn lỗi không nhớ lắm và vì nó boot qua khá nhanh. Nhưng lỗi ở đó rồi.
Ok, thử một lần nữa.
#mount -n -o remount /
#vi /etc/fstab
Thêm cái # để comment cái chỗ cấu hình ổ backup lại. Reboot nào.
He he. Server khởi động ok. Mặc dù vẫn còn vài lỗi nữa nhưng server đã boot lên. Các phân vùng đã được mount tự động. Service chạy ok.
Quay sang laptop thử ping và vào www.daoduytu.net ---> ok hết. Mừng quá
Trở lại với vấn đề backup. Như vậy là ổ backup /dev/sdb1 (đây là một ổ riêng 160Gb) đang có sự cố khi mount nó vào /backup.
Tuy nhiên, khi vào được server rồi, vẫn mount tạm nó vào được ---> copy hết tất cả file backup lúc 0h14' sáng nay sang /home/backup_18_07.
An tâm về dữ liệu rồi.
Giải pháp hay nhất là format và mount lại với ổ cứng này.
Bạn Hoàng đã giúp đỡ format quả ổ này và mount nó lại trong /etc/fstab.
Cảm ơn bạn Hoàng nhiều.
Sau khi thực hiện công đoạn này xong thì server hết lỗi.
Như vậy, nguyên nhân gây lỗi server là do ổ backup. File hệ thống của ổ bị lỗi khiến có thể là ổ không nhận ra nó là định dạng Ext2 hay ext3, hoặc nó mất mát cái gì đó. Nguyên nhân sâu xa khiến nó lỗi này thì không tìm được. Chỉ xác định rằng nó lỗi file hệ thống.
Cuối cùng thì server đã ổn định trở lại.
Trong suốt thời gian ở trên HSC, mình nhận thấy là tường lửa của server chặn vô cùng nhiều các gói tin ICMP phục vụ cho ping. Thậm chí chặn luôn cả các gói tin gửi đến từ chính máy laptop của mình (lúc đó đang chạy IP tĩnh nên nhận ra). Đó là điều kỳ lạ.
Kiểm tra lại firewall. Mới hay là do mình để Rate ICMP thấp quá, khiến server tưởng là có tấn công theo đường ICMP ---> chặn quách lại. Đó cũng là lý do tại sao mà server liên tục báo request timed out nhưng web vẫn chạy. Tức là firewall nó chỉ chặn gói tin ICMP --> kết quả ping là request timed out chứ server không bị die.
Đúng là lên tận nơi, ngồi ngay đó mới thấy nhiều được. Và đúng là đi một ngày đàng học một sàng không ^^.
Hôm nay cảm ơn bạn Hoàng nhiều vì đã giúp tớ Format lại ổ cứng. Tớ chưa biết format trên Linux
Sáng 18/07/2008, lúc 5h15' mình dậy và vào diễn đàn www.daoduytu.net để lượn vài vòng (diễn đàn được đặt tại server này). Mọi thứ ổn. Rất ổn.
Check mail. Có email report rằng vừa mới backup xong server. Server backup đều đặn tuần 3 bản vào Chủ nhật, thứ 3 và thứ 6. Hôm qua là bản backup ngày thứ 6. Backup complete lúc 0h14' ngày 18/07/2008.
Mọi thứ ổn. Lên cty đi làm
Đến cty mất điện --> đi sửa cái máy tính hỏng của chị Dung kế toán và mấy cái main + nguồn màn LCD. Nhân tiện qua bên quận Thanh Xuân sửa cái con VPN server.
Khoảng 10h30 đến quận. Lại té vào diễn đàn www.daoduytu.net chơi tí ---> Đứt ---> Tưởng nó đứt tí thôi ---> Đứt mãi ---> hâm rồi.
11h hơn quay về Cty. Định về cty nhưng nghĩ sao lại qua bên HSC (datacenter của VNNetsoft). Bởi vì server mấy ngày nay đơ đơ hâm hâm nên muốn qua đó xem tận mắt xem nó có bị làm sao không.
Vào phòng gặp Mr Điệp. Mr Điệp thông báo tin sét đánh: Server không khởi động được. Híc, như thế là nó hỏng thật chứ có phải giả vờ đâu. Chẹp.
Lên phòng datacenter, check cái server. Hiện tại nó không boot lên được.
Nguyên nhân: Các partition không được mount vào các folder tương ứng. Lúc đó, chỉ xác định là đó là nguyên nhân nó không boot được server. Còn nguyên nhân khiến hệ thống down vẫn chưa rõ.
Xem qua một chút ---> reboot vài lần thấy toàn báo lỗi khi mount phân vùng.
Quay về cty lấy laptop lên HSC ngồi thôi. Nhân tiện mang bộ đĩa CentOS để nếu ko cứu được thì cài lại với mấy cái đĩa trắng để ghi nếu cần.
May làm sao là nó vẫn còn vào được shell. Mặc dù các lệnh cơ bản như tail, cat, netstat là đứt hết. Chỉ dùng được mấy lệnh như mount, cd, fdisk....
Kiểm tra các phân vùng thì thấy tất cả đều bị ở thuộc tính read-only. Không thể sửa được gì mặc dù permission vẫn có -rw--.
Lỗi lạ chưa bao giờ gặp.
Gọi bạn Hoàng lên nhờ trợ giúp.
Google nào.
Lỗi read-only trên Linux.
Chạy lệnh sau:
#mount -n -o remount /
Các file lại sửa xóa như thường. Nhưng sự cố vẫn chưa khắc phục được. Thử đi thử lại file cấu hình phân vùng tại /etc/fstab vẫn không giải quyết được vấn đề --> Kết luận, không phải lỗi phân vùng.
Reboot lại máy.
Tự dưng lần reboot này lại mới nhìn kỹ quá trình boot. Có báo lỗi một chỗ khi boot đến đoạn mount cái /backup vào /dev/sdb1.
Đoạn lỗi không nhớ lắm và vì nó boot qua khá nhanh. Nhưng lỗi ở đó rồi.
Ok, thử một lần nữa.
#mount -n -o remount /
#vi /etc/fstab
Thêm cái # để comment cái chỗ cấu hình ổ backup lại. Reboot nào.
He he. Server khởi động ok. Mặc dù vẫn còn vài lỗi nữa nhưng server đã boot lên. Các phân vùng đã được mount tự động. Service chạy ok.
Quay sang laptop thử ping và vào www.daoduytu.net ---> ok hết. Mừng quá

Trở lại với vấn đề backup. Như vậy là ổ backup /dev/sdb1 (đây là một ổ riêng 160Gb) đang có sự cố khi mount nó vào /backup.
Tuy nhiên, khi vào được server rồi, vẫn mount tạm nó vào được ---> copy hết tất cả file backup lúc 0h14' sáng nay sang /home/backup_18_07.
An tâm về dữ liệu rồi.
Giải pháp hay nhất là format và mount lại với ổ cứng này.
Bạn Hoàng đã giúp đỡ format quả ổ này và mount nó lại trong /etc/fstab.
Cảm ơn bạn Hoàng nhiều.
Sau khi thực hiện công đoạn này xong thì server hết lỗi.
Như vậy, nguyên nhân gây lỗi server là do ổ backup. File hệ thống của ổ bị lỗi khiến có thể là ổ không nhận ra nó là định dạng Ext2 hay ext3, hoặc nó mất mát cái gì đó. Nguyên nhân sâu xa khiến nó lỗi này thì không tìm được. Chỉ xác định rằng nó lỗi file hệ thống.
Cuối cùng thì server đã ổn định trở lại.

Trong suốt thời gian ở trên HSC, mình nhận thấy là tường lửa của server chặn vô cùng nhiều các gói tin ICMP phục vụ cho ping. Thậm chí chặn luôn cả các gói tin gửi đến từ chính máy laptop của mình (lúc đó đang chạy IP tĩnh nên nhận ra). Đó là điều kỳ lạ.
Kiểm tra lại firewall. Mới hay là do mình để Rate ICMP thấp quá, khiến server tưởng là có tấn công theo đường ICMP ---> chặn quách lại. Đó cũng là lý do tại sao mà server liên tục báo request timed out nhưng web vẫn chạy. Tức là firewall nó chỉ chặn gói tin ICMP --> kết quả ping là request timed out chứ server không bị die.
Đúng là lên tận nơi, ngồi ngay đó mới thấy nhiều được. Và đúng là đi một ngày đàng học một sàng không ^^.
Hôm nay cảm ơn bạn Hoàng nhiều vì đã giúp tớ Format lại ổ cứng. Tớ chưa biết format trên Linux
MySQL Tweaking - Tối ưu MySQL
Tìm hiểu về mod_security

thanks