Thử thêm cái coi lào
Jul 19

Sự cố Server Linux Việt Nam ngày 18/07/2008

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 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
vuong
19 July 2008 13:58
mấy hôm tôi cứ chập chờn vì mail nó ngẹn gửi đi nó lại đẩy về. quá chán.
thanks
Hoàng
22 July 2008 00:58
Hè hè, lý do mà server chặn một số gói ICMP. Nói chính xác hơn là do đường truyền không ổn định -> gói đến nhanh gói đến chậm -> có một số gói ping đến cách nhau không đầy 1s nên bị chặn lại. Còn với những line khủng như trên FIS hôm tao dùng để test thì 100% luôn
Phân trang 1/1 Trang đầu 1 Trang cuối