Rebooting is for Windows
By apexwm, 22 July, 2010 17:46
Theo: http://www.zdnet.co.uk/blogs/the-open-source-revolution-10014902/rebooting-is-for-windows-10018087/
Bài được đưa lên Internet ngày: 22/07/2010
Lời người dịch: Có lẽ nêu ra lý do này, sẽ không có một “chuyên gia công nghệ thông tin” nào phàn đối được, rằng để cập nhật các bản vá, các máy chủ Windows buộc phải khởi động lại, còn các máy chủ Linux thì hầu hết là không. Vì thế, thời gian chết của các máy chủ Windows, một cách tự nhiên, luôn là lớn hơn so với các máy chủ Linux.
Trong thế giới của các trung tâm dữ liệu và các máy chủ, việc giảm tối thiểu thời gian chết của các máy chủ là sống còn. Thời gian chết có thể có giá rất cao. Trước hết, giảm thiểu thời gian chết của các máy chủ là bước đầu tiên. Điều này có thể liên quan tới việc thiết lập các máy chủ dư thừa hoặc các bó máy chủ, mà có thể tạo nên những chi phí giá thành bổ sung về phần cứng. Thứ hai, khi thời gian chết xảy ra, điều này có thể làm cho những người sử dụng không truy cập được tới các máy chủ và có thể gây ra một hiệu ứng bông tuyết khi các dịch vụ không sẵn sàng và công việc không thể triển khai được. Điều này là tốn kém nếu không nói là còn tốn kém hơn bản thanh các phần cứng.
Vì thế hãy nhìn vào 2 trong số các hệ điều hành thông dụng thường được sử dụng ngày nay trong các trung tâm dữ liệu và trong các hệ thống máy chủ. Một bên là Windows và một bên là Linux.
Windows về bản chất tự nhiên có thời gian chết cho một hệ thống là cao hơn, vì Microsoft đưa ra các bản vá mà đòi hỏi thường xuyên phải khởi động lại. Các bản vá của Windows được đặt lịch để được tung ra vào ngày thứ 3 của tuần thứ 2 mỗi tháng, nên ít nhất mỗi tháng một lần các hệ thống Windows sẽ cần phải khởi động lại. Đôi khi, các bản vá được tung ra ngay cả còn thường xuyên hơn, phụ thuộc vào tính chất nghiêm trọng, thì Windows còn không thể kích hoạt được một đa số các bản cập nhật phần mềm mà không có việc khởi động lại toàn bộ hệ thống.
Và bây giờ hãy ngó xem Linux một chút. Một cách tự nhiên, Linux được thiết kế để chạy vô hạn định trừ phi việc chạy nhân bản thân nó cần được cập nhật. Tuy nhiên đã từng có những đột phá vào năm ngoái (Ksplice là một thứ như vậy) khi mà ngay cả bản thân nhân cũng có thể được nâng cấp mà không cần khởi động lại. Điều này là rất thông minh. Trước hết, cách mà nhân Linux được thiết kế cho phép nó chạy một cách có hiệu quả và những thay đổi có thể được thực hiện đối với nó trong khi nó vẫn đang chạy. Khi nhân đang chạy, những thay đổi khác đối với hệ điều hành cũng có thể được thực hiện. Chắc chắn, đôi khi các dịch vụ cần phải được dừng/khởi động (nếu chúng được cập nhật), tuy nhiên điều này hầu như không gây ảnh hưởng như việc khởi động lại toàn bộ hệ thống. Một số dịch vụ cũng có thể được cập nhật mà không cần khởi động lại bản thân các dịch vụ đó (như trong một sự thay đổi cấu hình; lệnh "service {service name} reload" thường thực hiện cái mẹo này).
In the world of datacenters and servers, minimizing the downtime of the servers is crucial. Downtime can be very costly. First, ramping up servers ahead of time to minimize the downtime is the first step. This can involve setting up redundant servers or server clusters, which can incur extra hardware costs along the way. Second, when downtime happens, this can keep users from accessing the servers and can cause a snowball effect as services are not available and business cannot be carried on. This can be just as costly if not more costly than the hardware itself.
So let's look at two of the most common operating systems used today used in datacenters and on server systems. On one hand, Windows and the other Linux.
Windows by nature has more downtime per system, because Microsoft releases patches that require frequent rebooting. Windows patches are scheduled to be released on the second Tuesday of each month, so at a minimum once per month Windows systems will need to reboot. Sometimes, patches are released even more frequently, depending on the severity. Windows just can't activate a majority of software updates without rebooting the entire system.
And now let's take a look at Linux. By nature, Linux is designed to run indefinitely unless the running kernel itself needs to be upgraded. However there have been breakthroughs within the past year (Ksplice is one) where even the kernel itself can be upgraded without a reboot. This is just plain smart. First, the way that the Linux kernel is designed allows it to efficiently run and changes can be made to it while it is running. As long as the kernel is running, other changes to the operating system can be made as well. Sure, sometimes services need to be stopped/started (if they are upgraded), however this does not have nearly the impact as rebooting the entire system. Some services can also be updated without restarting the services themselves (as in a configuration change; the "service {service name} reload" command usually does the trick).
Việc khởi động lại gây ra thời gian chết nếu các máy chủ không là dư thừa, mà nó là một thực tế tồi trừ phi công việc không vận hành 24x7. Nhưng, việc khởi động lại thường gây ra những vấn đề khác nổi lên. Đôi khi hệ thống sẽ không khởi động lại một cách đúng đắn (mà nó không xảy ra như nó thường xảy ra trong các phiên bản cũ của Windows), mà nó đòi hỏi người quản trị các hệ thống phải giám sát máy chủ mỗi lần nó khởi động lại. Điều này đòi hỏi thời gian bổ sung để giám sát các hệ thống. Tệ hơn, việc khởi động lại thường xảy ra vào buổi tối nên nó đòi hỏi những người quản trị hệ thống phải thức dậy trong khi việc khởi động lại xảy ra để đảm bảo mọi thứ là thành công.
Những gì điều này có nghĩa là một doanh nghiệp nhỏ có thể có một máy chủ cung cấp thứ gì đó giống như các dịch vụ chia sẻ tệp, ví dụ thế, và có một máy chủ Linux duy nhất hoặc 2 máy chủ Windows để cung cấp cùng số lượng thời gian làm việc. Việc có 2 máy chủ dư thừa làm gia tăng đáng kể giá thành phần cứng, mà là nhân đôi trong hầu hết các trường hợp. Không chỉ 2 máy chủ cần phải được mua mà chúng phải được thiết lập cấu hình với bộ lưu trữ chia sẻ và được cấu hình để cân bằng tải cho chính chúng hoặc cung cấp việc vượt qua lỗi. Trung bình của việc có 2 máy chủ Windows tuy nhiên là để đề phòng sự hỏng phần cứng (nghĩa là bo mạch chủ), mà có thể gây ra cho máy chủ Linux duy nhất không sẵn sàng. Nhưng ví dụ trong trường hợp này, tôi chỉ tập trung vào thời gian chết đã được lên kế hoạch.
Tôi có thể giả thiết là Microsoft có lẽ ngày nào đó giải quyết vấn đề này của hệ điều hành Windows của họ không cho phép các cập nhật trong khi nó tiếp tục chạy. Có thể. Tôi chưa từng bao giờ có khả năng chỉ ra chính xác vì sao Microsoft không tập trung vào việc tạo ra nhân trong Windows được hiệu quả hơn. Linux đã có khả năng làm điều này tử lần đầu nó được tạo ra vào đầu những năm 1990, và Unix đã cũng làm được như vậy trước đó. Trong khi chờ đợi, các doanh nghiệp phải tiến hành các nghiên cứu của họ để đảm bảo bất kỳ hệ điều hành nào mà họ chọn sẽ làm việc với ngân sách và những yêu cầu nghiệp vụ của họ, và những yêu cầu về thời gian sống.
Rebooting causes downtime if the servers are not redundant, which is just plain bad practice unless the business does not operate 24x7. But, rebooting often causes other problems to pop up. Sometimes the system will not boot back up properly (which does not happen like it used to in older versions of Windows), which requires the systems admin to monitor the server each time it reboots. This requires extra time to monitor the systems. Even worse, rebooting normally happens during the night so it requires systems admins to be awake during the time that the reboots occur to ensure everything is successful.
What this means is that a small business can have a server providing something like file sharing services for example, and have one single Linux server or two Windows servers to provide the same amount of planned uptime. Having two redundant servers significantly increases the hardware cost, which is more than double in most cases. Not only do two servers need to be purchased but they must be configured with shared storage and configured to load balance themselves or provide failover. The advantage of having two Windows servers however is to guard against major hardware failure (i.e. motherboard), which would cause the single Linux server to become unavailable. But for example in this case, I'm only focusing on planned downtime.
I would have to assume that Microsoft may someday address the issue of their Windows operating system not allowing updates while it continues to run. Maybe. I've never been able to pinpoint exactly why Microsoft does not focus on making the kernel in Windows more efficient. Linux has been able to do this since it was first created in the early 1990's, and Unix was doing the same even before that. In the meantime, businesses should do their research to ensure whatever operating system they choose will work with their budget and business requirements, and uptime requirements.
Dịch tài liệu: Lê Trung Nghĩa