Ép Windows Server thành VPS công suất thấp với Windows Server Core

Ép Windows Server thành VPS công suất thấp với Windows Server Core
Do sự háu ăn của các hệ thống Windows, môi trường VPS bị chi phối bởi các bản phân phối Linux nhẹ: Mint, Colibri OS, Debian hoặc Ubuntu, không có môi trường máy tính để bàn nặng nề không cần thiết cho mục đích của chúng tôi. Như người ta nói, chỉ có console, chỉ có Hardcore! Và trên thực tế, đây không phải là một sự cường điệu chút nào: cùng một Debian khởi động trên bộ nhớ 256 MB và một lõi có xung nhịp 1 GHz, nghĩa là trên hầu hết mọi “gốc cây”. Để làm việc thoải mái, bạn sẽ cần ít nhất 512 MB và bộ xử lý nhanh hơn một chút. Nhưng điều gì sẽ xảy ra nếu chúng tôi nói với bạn rằng bạn có thể thực hiện điều tương tự trên VPS chạy Windows? Tại sao bạn không cần tung ra một Máy chủ Windows hạng nặng, yêu cầu 1,4 đến XNUMX ha RAM và ít nhất một vài lõi có tốc độ XNUMX GHz? Chỉ cần sử dụng Windows Server Core - loại bỏ GUI và một số dịch vụ. Chúng ta sẽ nói về cách thực hiện điều này trong bài viết.

Windows Server Core này là ai?

Không có thông tin rõ ràng về Windows (máy chủ) Core ngay cả trên trang web chính thức của Mikes, hay nói đúng hơn là mọi thứ ở đó khó hiểu đến mức bạn sẽ không hiểu ngay, nhưng những đề cập đầu tiên có từ thời Windows Server 2008 Về cơ bản, Windows Core là một Máy chủ nhân Windows đang hoạt động (đột nhiên!), “mỏng hơn” về kích thước GUI của chính nó và khoảng một nửa các dịch vụ phụ.

Tính năng chính của Windows Core là phần cứng không yêu cầu cao và khả năng kiểm soát bảng điều khiển hoàn toàn thông qua PowerShell.

Nếu bạn truy cập trang web của Microsoft và kiểm tra các yêu cầu kỹ thuật thì để khởi động Windows Server 2016/2019, bạn sẽ cần ít nhất 2 gig RAM và ít nhất một lõi có tốc độ xung nhịp 1,4 GHz. Nhưng tất cả chúng tôi đều hiểu rằng với cấu hình như vậy, chúng tôi chỉ có thể mong đợi hệ thống khởi động chứ không chắc chắn hệ điều hành của chúng tôi sẽ hoạt động thoải mái. Vì lý do này mà Windows Server thường được phân bổ nhiều bộ nhớ hơn và ít nhất 2 lõi/4 luồng từ bộ xử lý, nếu họ không cung cấp cho nó một máy vật lý đắt tiền trên một số Xeon, thay vì một máy ảo rẻ tiền.

Đồng thời, bản thân lõi của hệ thống máy chủ chỉ cần 512 MB bộ nhớ và những tài nguyên bộ xử lý đã được GUI sử dụng chỉ để vẽ trên màn hình và duy trì nhiều dịch vụ của nó chạy có thể được sử dụng cho mục đích hữu ích hơn.

Dưới đây là so sánh các dịch vụ Windows Core được hỗ trợ ngay từ đầu và Windows Server đầy đủ từ trang web chính thức của Microsoft:

ứng dụng
lõi máy chủ
máy chủ vớiKinh nghiệm máy tính để bàn

Dấu nhắc lệnh
có sẵn
có sẵn

Windows PowerShell/Microsoft .NET
có sẵn
có sẵn

Perfmon.exe
không có sẵn
có sẵn

Windbg (GUI)
hỗ trợ
có sẵn

Resmon.exe
không có sẵn
có sẵn

Regedit
có sẵn
có sẵn

Fsutil.exe
có sẵn
có sẵn

Disksnapshot.exe
không có sẵn
có sẵn

Diskpart.exe
có sẵn
có sẵn

đĩamgmt.msc
không có sẵn
có sẵn

devmgmt.msc
không có sẵn
có sẵn

Server Manager
không có sẵn
có sẵn

mmc.exe
không có sẵn
có sẵn

sự kiệnvwr
không có sẵn
có sẵn

Wevtutil (Truy vấn sự kiện)
có sẵn
có sẵn

Services.msc
không có sẵn
có sẵn

Bảng điều khiển
không có sẵn
có sẵn

Cập nhật Windows (GUI)
không có sẵn
có sẵn

Windows Explorer
không có sẵn
có sẵn

Thanh tác vụ
không có sẵn
có sẵn

Thông báo trên thanh tác vụ
không có sẵn
có sẵn

taskmgr
có sẵn
có sẵn

Internet Explorer hoặc Edge
không có sẵn
có sẵn

Hệ thống trợ giúp tích hợp
không có sẵn
có sẵn

Vỏ Windows 10
không có sẵn
có sẵn

Windows Media Player
không có sẵn
có sẵn

PowerShell
có sẵn
có sẵn

PowerShellISE
không có sẵn
có sẵn

IME PowerShell
có sẵn
có sẵn

Mstsc.exe
không có sẵn
có sẵn

Remote Desktop Services
có sẵn
có sẵn

Quản lý Hyper-V
không có sẵn
có sẵn

Như bạn có thể thấy, rất nhiều thứ đã bị cắt khỏi Windows Core. Các dịch vụ và quy trình được liên kết với GUI của hệ thống, cũng như bất kỳ “rác” nào chắc chắn không cần thiết trên máy ảo bảng điều khiển của chúng tôi, chẳng hạn như Windows Media Player, đã bị kiểm soát.

Gần giống Linux nhưng không phải vậy

Tôi rất muốn so sánh Windows Server Core với các bản phân phối Linux, nhưng thực tế điều này không hoàn toàn chính xác. Đúng, các hệ thống này giống nhau về mặt giảm mức tiêu thụ tài nguyên do loại bỏ GUI và nhiều dịch vụ phụ, nhưng về mặt vận hành và một số cách tiếp cận lắp ráp, đây vẫn là Windows chứ không phải hệ thống Unix.

Ví dụ đơn giản nhất là bằng cách xây dựng nhân Linux theo cách thủ công rồi cài đặt các gói và dịch vụ, ngay cả một bản phân phối Linux nhẹ cũng có thể bị biến thành một thứ gì đó nặng tay và tương tự như một con dao quân đội Thụy Sĩ (ở đây tôi thực sự muốn làm một trò đùa về Python). và chèn một hình ảnh từ loạt bài “Nếu ngôn ngữ lập trình là vũ khí”, nhưng chúng tôi sẽ không làm như vậy). Trong Windows Core, quyền tự do đó ít hơn nhiều, bởi vì xét cho cùng, chúng ta đang làm việc với một sản phẩm của Microsoft.

Windows Server Core được tạo sẵn, cấu hình mặc định của nó có thể được ước tính từ bảng trên. Nếu bạn cần thứ gì đó từ danh sách không được hỗ trợ, bạn sẽ phải thêm các phần tử còn thiếu trực tuyến thông qua bảng điều khiển. Đúng, bạn không nên quên Tính năng theo yêu cầu và khả năng tải xuống các thành phần dưới dạng tệp CAB, sau đó có thể được thêm vào tập hợp trước khi cài đặt. Nhưng tập lệnh này không hoạt động nếu trong quá trình này bạn phát hiện ra rằng mình đang thiếu bất kỳ dịch vụ bị cắt nào.

Nhưng điều khác biệt giữa phiên bản Core với phiên bản đầy đủ là khả năng cập nhật hệ thống và thêm dịch vụ mà không cần ngừng hoạt động. Windows Core hỗ trợ gói nóng mà không cần khởi động lại. Kết quả là, dựa trên những quan sát thực tế: một máy chạy Windows Core cần được khởi động lại ít hơn ~6 lần so với một máy chạy Windows Server, tức là sáu tháng một lần chứ không phải mỗi tháng một lần.

Một phần thưởng thú vị dành cho quản trị viên là nếu hệ thống được sử dụng như dự kiến ​​- thông qua bảng điều khiển, không có RDP - và không được tạo thành Windows Server thứ hai, thì hệ thống sẽ trở nên cực kỳ an toàn so với phiên bản đầy đủ. Xét cho cùng, phần lớn các lỗ hổng của Windows Server là do RDP và hành động của người dùng, thông qua chính RDP này, thực hiện điều gì đó không nên làm. Nó giống như câu chuyện của Henry Ford và thái độ của ông đối với màu sắc của một chiếc ô tô: “Bất kỳ khách hàng nào cũng có thể có một chiếc ô tô được sơn bất kỳ màu nào họ muốn miễn là nó có màu sắc như vậy. đen" Với hệ thống cũng vậy: người dùng có thể giao tiếp với hệ thống theo bất kỳ cách nào, điều chính yếu là anh ta thực hiện điều đó thông qua bảng điều khiển.

Cài đặt và quản lý Windows Server 2019 Core

Chúng tôi đã đề cập trước đó rằng Windows Core về cơ bản là Windows Server không có trình bao bọc GUI. Tức là bạn có thể sử dụng hầu hết mọi phiên bản Windows Server làm phiên bản cốt lõi, tức là từ bỏ GUI. Đối với các sản phẩm trong dòng Windows Server 2019, đây là 3 trong 4 bản dựng máy chủ: chế độ lõi có sẵn cho Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter và Hyper-V Server 2019, tức là chỉ loại trừ Windows Server 2019 Essentials từ danh sách này.

Trong trường hợp này, bạn không thực sự cần tìm gói cài đặt Windows Server Core. Trong trình cài đặt tiêu chuẩn của Microsoft, phiên bản lõi được cung cấp theo mặc định, trong khi phiên bản GUI phải được chọn thủ công:

Ép Windows Server thành VPS công suất thấp với Windows Server Core
Trên thực tế, có nhiều tùy chọn để quản lý hệ thống hơn tùy chọn PowerShell đã đề cập, được nhà sản xuất cung cấp theo mặc định. Bạn có thể quản lý máy ảo trên Windows Server Core theo ít nhất năm cách khác nhau:

  • PowerShell từ xa;
  • Công cụ quản trị máy chủ từ xa (RSAT);
  • Trung tâm quản trị Windows;
  • cấu hình;
  • Quản lý máy chủ.

Ba vị trí đầu tiên được quan tâm nhiều nhất: PowerShell, RSAT và Trung tâm quản trị Windows tiêu chuẩn. Tuy nhiên, điều quan trọng là phải hiểu rằng mặc dù chúng tôi nhận được lợi ích từ một trong các công cụ, nhưng chúng tôi cũng nhận được những hạn chế mà nó đặt ra.

Chúng tôi sẽ không mô tả các khả năng của bảng điều khiển; PowerShell là PowerShell, với những ưu và nhược điểm rõ ràng. Với RSAT và WAC, mọi thứ phức tạp hơn một chút. 

WAC cung cấp cho bạn quyền truy cập vào các điều khiển hệ thống quan trọng như chỉnh sửa sổ đăng ký cũng như quản lý ổ đĩa và thiết bị. RSAT trong trường hợp đầu tiên chỉ hoạt động ở chế độ xem và sẽ không cho phép bạn thực hiện bất kỳ thay đổi nào, đồng thời để quản lý đĩa và thiết bị vật lý, Công cụ quản trị máy chủ từ xa yêu cầu GUI, trường hợp này không xảy ra trong trường hợp của chúng tôi. Nói chung, RSAT không thể hoạt động với các tệp và theo đó, cập nhật, cài đặt/gỡ bỏ các chương trình trong việc chỉnh sửa sổ đăng ký.

▍Quản lý hệ thống

 

WAC
RSAT

Quản lý thành phần
vâng
vâng

Trình chỉnh sửa sổ đăng ký
vâng
Không

Quản lý mạng
vâng
vâng

Trình xem sự kiện
vâng
vâng

Thư mục chia sẻ
vâng
vâng

Quản lý đĩa
vâng
Chỉ dành cho máy chủ có GUI

Bảng kế hoạch
vâng
vâng

Quản lý thiết bị
vâng
Chỉ dành cho máy chủ có GUI

Quản lý tập tin
vâng
Không

quản lý người dùng
vâng
vâng

Quản lý nhóm
vâng
vâng

Quản lý chứng chỉ
vâng
vâng

Cập nhật
vâng
Không

Gỡ cài đặt chương trình
vâng
Không

Giám sát hệ thống
vâng
vâng

Mặt khác, RSAT cung cấp cho chúng tôi toàn quyền kiểm soát các vai trò trên máy, trong khi Trung tâm quản trị Windows thực sự không thể làm gì về vấn đề này. Dưới đây là so sánh khả năng của RSAT và WAC ở khía cạnh này cho rõ ràng:

▍Quản lý vai trò

 

WAC
RSAT

Bảo vệ chủ đề nâng cao
XEM TRƯỚC
Không

windows Defender
XEM TRƯỚC
vâng

Container
XEM TRƯỚC
vâng

Trung tâm hành chính AD
XEM TRƯỚC
vâng

Tên miền và quỹ tín thác AD
Không
vâng

Các trang web và dịch vụ AD
Không
vâng

DHCP
XEM TRƯỚC
vâng

DNS
XEM TRƯỚC
vâng

Trình quản lý DFS
Không
vâng

Trình quản lý GPO
Không
vâng

Trình quản lý IIS
Không
vâng

Nghĩa là, rõ ràng là nếu chúng ta từ bỏ GUI và PowerShell để chuyển sang các điều khiển khác, chúng ta sẽ không thể sử dụng một số loại công cụ đơn sắc nào đó: để quản trị đầy đủ trên mọi mặt trận, chúng ta sẽ cần ít nhất sự kết hợp giữa RSAT và WAC.

Tuy nhiên, bạn cần nhớ rằng bạn sẽ phải trả 150-180 megabyte RAM để sử dụng WAC. Khi được kết nối, Trung tâm quản trị Windows sẽ tạo 3-4 phiên ở phía máy chủ, các phiên này không bị tắt ngay cả khi công cụ bị ngắt kết nối khỏi máy ảo. WAC cũng không hoạt động với các phiên bản PowerShell cũ hơn, vì vậy bạn sẽ cần ít nhất PowerShell 5.0. Tất cả những điều này đi ngược lại mô hình thắt lưng buộc bụng của chúng tôi, nhưng bạn phải trả tiền để có được sự thoải mái. Trong trường hợp của chúng tôi - RAM.

Một tùy chọn khác để quản lý Server Core là cài đặt GUI bằng các công cụ của bên thứ ba, để không kéo theo hàng tấn rác đi kèm với giao diện trong một tổ hợp chính thức.

Trong trường hợp này, chúng tôi có hai tùy chọn: triển khai Explorer gốc vào hệ thống hoặc sử dụng Explorer++. Để thay thế cho cái sau, bất kỳ trình quản lý tệp nào cũng phù hợp: Total Commander, FAR Manager, Double Commander, v.v. Cách thứ hai sẽ thích hợp hơn nếu việc tiết kiệm RAM là điều quan trọng đối với bạn. Bạn có thể thêm Explorer++ hoặc bất kỳ trình quản lý tệp nào khác bằng cách tạo thư mục mạng và khởi chạy nó thông qua bảng điều khiển hoặc bộ lập lịch.

Việc cài đặt Explorer chính thức sẽ mang lại cho chúng ta nhiều cơ hội hơn khi làm việc với phần mềm được trang bị giao diện người dùng. Đối với điều này chúng tôi sẽ phải liên hệ đến Tính năng tương thích ứng dụng lõi máy chủ theo yêu cầu (FOD), tính năng này sẽ trả lại MMC, Eventvwr, PerfMon, Resmon, Explorer.exe và thậm chí cả Powershell ISE cho hệ thống. Tuy nhiên, chúng tôi sẽ phải trả giá cho điều này, như trường hợp của WAC: chúng tôi sẽ mất khoảng 150-200 megabyte RAM, số RAM này sẽ bị explorer.exe và các dịch vụ khác ngấu nghiến không thương tiếc. Ngay cả khi không có người dùng hoạt động trên máy.

Ép Windows Server thành VPS công suất thấp với Windows Server Core
Ép Windows Server thành VPS công suất thấp với Windows Server Core
Đây là mức tiêu thụ bộ nhớ của hệ thống trên các máy có và không có gói Explorer gốc.

Một câu hỏi hợp lý được đặt ra ở đây: tại sao tất cả những điều này lại xảy ra với PowerShell, FOD, trình quản lý tệp, nếu bất kỳ bước nào sang trái hoặc phải dẫn đến tăng mức tiêu thụ RAM? Tại sao phải bôi nhọ bản thân bằng một loạt công cụ và xáo trộn từ bên này sang bên kia để đảm bảo làm việc thoải mái trên Windows Server Core, khi bạn chỉ cần tải xuống Windows Server 2016/2019 và sống như một người da trắng?

Có một số lý do để sử dụng Server Core. Đầu tiên: mức tiêu thụ bộ nhớ hiện tại gần bằng một nửa. Nếu bạn còn nhớ, điều kiện này là cơ sở của bài viết của chúng tôi ngay từ đầu. Để so sánh, đây là mức tiêu thụ bộ nhớ của Windows Server 2019, so sánh với ảnh chụp màn hình ngay phía trên:

Ép Windows Server thành VPS công suất thấp với Windows Server Core
Và như vậy, mức tiêu thụ bộ nhớ là 1146 MB thay vì 655 MB trên Core. 

Giả sử bạn không cần WAC và sẽ sử dụng Explorer++ thay vì Explorer gốc thì bạn bạn vẫn sẽ giành được gần nửa ha trên mỗi máy ảo chạy Windows Server. Nếu chỉ có một máy ảo thì mức tăng không đáng kể, nhưng nếu có năm máy thì sao? Đây là lúc việc có GUI rất quan trọng, đặc biệt nếu bạn không cần nó. 

Thứ hai, bất kỳ điệu nhảy nào xung quanh Windows Server Core sẽ không khiến bạn phải đối mặt với vấn đề chính của việc vận hành Windows Server - RDP và tính bảo mật của nó (chính xác hơn là sự vắng mặt hoàn toàn của nó). Windows Core, thậm chí được phủ FOD, RSAT và WAC, vẫn là một máy chủ không có RDP, nghĩa là nó không dễ bị ảnh hưởng bởi 95% các cuộc tấn công hiện có.

Còn lại

Nhìn chung, Windows Core chỉ nặng hơn một chút so với bất kỳ bản phân phối Linux gốc nào, nhưng nó có nhiều chức năng hơn. Nếu bạn cần giải phóng tài nguyên và sẵn sàng làm việc với bảng điều khiển, WAC và RSAT, đồng thời sử dụng trình quản lý tệp thay vì GUI chính thức, thì Core đáng được chú ý. Hơn nữa, với nó, bạn sẽ có thể tránh phải trả thêm tiền cho một Windows chính thức và chi tiêu số tiền tiết kiệm được để nâng cấp thiết bị của mình. VPS, thêm vào đó, chẳng hạn như RAM. Để thuận tiện, chúng tôi đã thêm Windows Server Core vào thương trường.

Ép Windows Server thành VPS công suất thấp với Windows Server Core

Nguồn: www.habr.com

Thêm một lời nhận xét