Thời gian (time) của máy ảo (VM Xen guest domU) trong XEN được đặt theo máy cái (host). Vì vậy, để đảm bảo thời gian OK, thì cần: (a) chỉnh đúng thời gian máy cái; và/hoặc (b) tạo máy ảo với thời gian độc lập (independent timing). Tại đây xin trình bày cách (b), phù hợp cho trường hợp không có khả năng can thiệp vào máy cái (host); thí nghiệm trên Debian Lenny, Ubuntu 8.10, và CentOS 5.1.
Đặt trong file /etc/rc.local (startup script):
## initialize computer time ## AFTER making sure that the Xen guest using independent clock echo 1 > /proc/sys/xen/independent_wallclock /usr/sbin/ntpdate pool.ntp.org
hoặc nếu không thích dùng /etc/rc.local thì có thể đặt trong /etc/sysctl.conf:
## Independent wall clock time to XenServer Host xen/independent_wallclock = 1
Sau đó đặt chỉnh giờ định kỳ (ví dụ vào 5:30 AM hàng ngày) trong /etc/crontab:
## time sync daily 30 5 * * * root /usr/sbin/ntpdate pool.ntp.org
Nếu cảm thấy ntpdate chưa đủ chính xác, thì có thể dùng ntp (time server) chạy ở chế độ dịch vụ (daemon), khi đó thời gian sẽ được chỉnh chính xác hơn. Bỏ ntpdate trong crontab đi, và cài ntp như sau, với Debian/Ubuntu:
# apt-get install ntp
hoặc với CentOS:
# yum install ntp
Lưu ý: trong Debian/Ubuntu, ntp và ntpdate được xếp vào 2 gói (package) riêng, còn với CentOS thì cả 2 nằm trong 1 gói ntp.
Cấu hình của ntp được đặt trong /etc/ntp.conf, trong đó có danh sách các máy chủ thời gian (time server) khác được sử dụng để tham chiếu thời gian. Có thể xem trạng thái của dịch vụ ntp, xem xem trạng thái so với các máy chủ khác mà nó tham chiếu thời gian đến:
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== starlite.ispwor .INIT. 16 u - 1024 0 0.000 0.000 0.000 24.node6504.gpl .INIT. 16 u - 1024 0 0.000 0.000 0.000 203.116.5.254 129.6.15.29 2 u 81 512 151 1005.25 -470.58 10.582
Lưu ý: giao thức ntp (Network Time Protocol) dùng cổng UTP 123 cả hai phía client và server; như vậy, khi ntp đang chạy thì ntpdate không chạy được vì cổng UTP 123 bị bận ở phía client. Nếu muốn chạy ntpdate thì phải tạm ngưng dịch vụ ntp, với Debian/Ubuntu:
# /etc/init.d/ntp stop # ntpdate pool.ntp.org # /etc/init.d/ntp start
hoặc với CentOS:
# /etc/init.d/ntpd stop # ntpdate pool.ntp.org # /etc/init.d/ntpd start
Tham khảo:
Không có nhận xét nào:
Đăng nhận xét