01 May, 2020

Cài Windows 10 lên Google Cloud (bài viết cũ)

Cài Windows 10 lên Google Cloud (bài viết cũ)
Available in:
 Vietnamese
Reading time: 7 min.
Table of content

    ⚠️ Sau đây là post cũ từ 2019, xin vui lòng KHÔNG làm theo vì nó đã lỗi thời rồi (để đọc cho vui). Nếu bạn muốn cài Windows lên Google Cloud, hãy làm theo hướng dẫn mới tại đây:< https://blog.ngxson.com/cai-windows-10-len-google-cloud/>

    Cách đây 1 tuần, mình rời nhà để bắt đầu kỳ nghỉ hè. Dù muốn chơi game “hạng nặng” nhưng ở đây lại không có dàn gaming nào, vậy là mình nảy ra ý định cài thuê 1 server để chơi game trên google cloud, với giá khá rẻ (khoảng $0.6 / giờ).

    Lúc đầu mình dùng Windows Server 2019 mặc định, nhưng cuối cùng game mình chơi không tương thích (RiME), vậy nên mình đành phải tìm cách cài Windows 10 LTSC. Ngoài ra, việc dùng Windows 10 cũng giúp giảm chi phí thuê server, vì thật ra Windows Server thuê khá đắt.

    Trong bài viết này, mình sẽ kể lại các bước cài Windows 10 lên VPS Google Cloud. Các bạn cần chuẩn bị:

    • Tài khoản google cloud đã add credit card (Lưu ý: nếu bạn dùng free trial $300, bạn sẽ không thể add GPU)
    • ISO đĩa cài Windows 10 (nên dùng bản Pro hoặc như mình là LTSC Entreprise)
    • VirtualBox (để tạo disk image trước khi up lên google cloud)
    • VirtIO driver: tải ở đây
    • Mạng cáp quang (sẽ cần upload disk image nặng khoảng 10GB, ngoài ra cần ping thấp nếu bạn muốn chơi game)

    Mục lục

    • Phần 1: Chuẩn bị file đĩa cứng (vdi)
      • Tạo VM trên VirtualBox
      • Cài driver SCSI và Ethernet
      • Bật RDP
    • Phần 2: Upload disk image lên google cloud
      • Tạo bucket và upload
      • Import file vdi vào compute engine image
      • Tạo instance
    • Phần 3: Cài driver trên google cloud
      • Driver PCI
      • Driver NVIDIA GRID
    • Phần 4 (tùy chọn): Cài các phần cần cho gaming
    • Chi phí sử dụng

    Phần 1: Chuẩn bị file đĩa cứng (vdi)

    Tạo VM trên VirtualBox

    Tạo VM mới trên VirtualBox với các thông số sau:

    • CPU / RAM chọn tùy ý bạn
    • Disk: tạo file đĩa cứng định dạng vdi, tối thiểu 40GB

    Sau khi tạo xong, hãy bấm Settings để cài thêm một vài thông số:

    Network
    Adapter 1: Attached to NAT
    Adapter 2: Attached to NAT => click vào Advance => Adapter type: paravirtualized network

    Storage
    Kiểm tra lại xem controller này có type: AHCI hay chưa. Gắn thêm đĩa cài win và đĩa virtio vào.

    Tạo thêm virtio-scsi controller, tạo 1 ổ đĩa cứng dung lượng 1GB trong controller này (ổ đĩa này không dùng để lưu trữ, chỉ dùng để win 10 nhận driver VirtIO)

    Khởi động máy ảo, cài windows như bình thường (nhớ đặt password cho user của bạn windows, cái này bắt buộc)

    Cài driver SCSI và Ethernet

    (phần này mình quên ko chụp ảnh, các bạn thông cảm làm theo hướng dẫn chay nhé)

    Sau khi cài xong xuôi và khởi động lên, hãy copy toàn bộ các thứ trong đĩa CD virtio sang thư mục Documents/virtio

    Vào Devices Manager. Bạn sẽ thấy SCSI và Ethernet chưa nhận diện được.

    Click chuột phải vào từng cái => Update driver => Browse my computer for driver => chọn thư mục Documents/virtio

    Sau đó, 2 driver này sẽ được cài đặt. Còn driver nào khác không cài đc thì có thể kệ nó, vì ở đây mình chỉ cần cài đc virtio.

    Bật RDP

    Vào Settings > System > Remote Desktop, bật nó lên

    Vào Control Panel > Windows Defender Firewall > Turn Windows Defender Firewall on/off

    Sau đó, nếu muốn test, bạn có thể chuyển Network của VirtualBox sang Bridge hoặc Host-Only, và thử RDP vào máy ảo

    Phần 2: Upload disk image lên google cloud

    Bạn cần tạo Project mới trên Google Cloud Console. Ở phần này, bạn nên dùng free trial credit (nếu có).

    Tạo bucket và upload

    Vào Google Cloud Storage, tạo bucket mới. Bạn nên chọn location ở cùng vị trí mong muốn đặt VPS. Sau đó, hãy vpload file .vdi của VirtualBox lên bucket mới tạo.

    Import file vdi vào compute engine image

    Vào Compute Engine > Images > Create an image

    Đặt tên tùy ý bạn, ở Source chọn Virtual disk, sau đó chọn file vdi ở trong cloud storage

    Ở phần Operating system on virtual disk, chọn No operating system. Data only

    Quá trình import sẽ mất khoảng 30 phút – 1 tiếng

    Tạo instance

    Từ bước này, bạn không được dùng $300 free trial của google cloud nữa. Hãy tắt free trial để tiếp tục.

    Vào VM instance > Create

    Nên chọn tối thiểu là 2 vCPU và 7.5 GB RAM
    Chọn advance > add GPU > Tesla P4 (giá rẻ) hoặc Tesla P100 (đắt hơn)
    Tick vào ô virtual workstation

    Chú ý: Không phải region nào cũng có GPU, vậy nên hãy thử các location khác nhau. Ngoài ra, GPU phải hỗ trợ virtual workstation (phải tick được vào ô virtual workstation ở dưới)

    Tick vào ô Turn on display device
    Ở phần Boot disk, chọn Custom image > Image vừa tạo ở bước trên
    Ở dưới cùng, sẽ có ô chọn Preemptibility > On

    Khởi động instance, có thể vào tab Screenshot để xem máy đang hiện gì (nếu bị lỗi blue screen hay không nhận network, hãy làm lại từ đầu và đọc kỹ hướng dẫn)

    Nếu như máy khởi động thành công, bạn có thể dùng Remote Desktop Connecting (RDP) để truy cập máy ảo từ xa bằng IP public của nó. Hãy nhớ kiểm tra trên firewall trên google cloud có mở port TCP 3389

    Sau khi cài xong xuôi, hãy vào Image và xóa Image bạn đã tạo (nhớ vào cả Storage để xóa bucket nữa). Nếu bạn không xóa, bạn sẽ bị tính phí lưu trữ theo cho image và bucket.

    Phần 3: Cài driver trên google cloud

    (phần này mình quên ko chụp ảnh, các bạn thông cảm làm theo hướng dẫn chay nhé)

    Kết nối tới instance. Vào Devices Manager. Bạn sẽ thấy PCI chưa nhận diện được (driver 3D là của GPU)

    Bạn lại bấm chuột phải => Update driver => Browse my computer for driver => chọn thư mục Documents/virtio

    Đối với driver GPU, bạn cần tải GRID driver tại https://cloud.google.com/compute/docs/gpus/install-grid-drivers#grid-driver-windows

    Sau đó cài trên instance. Sau khi cài xong, hãy khởi động lại

    Phần 4 (tùy chọn): Cài các phần cần cho gaming

    Bấm chuột phải vào nút Start > PowerShell (Admin)

    Nhập lệnh Set-ExecutionPolicy RemoteSigned
    Bấm enter

    Tiếp theo, mình cài Parsec để dùng làm phần mềm remote PC. Parsec cho trải nghiệm tốt hơn RDP hay Teamviewer (độ trễ thấp hơn nhiều).

    Truy cập https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool
    Lần lượt nhập các lệnh ở phần Instructions
    Đến cuối sẽ có một vài thứ bị lỗi (ví dụ GPU driver updater), bạn có thể kệ nó, vì driver này đã cài từ bước trên

    Đăng nhập / Tạo tài khoản Parsec

    Khởi động lại instance một lần nữa là xong!

    Chi phí sử dụng

    Phí chạy instance sẽ tính đúng theo thời gian máy bật, vì vậy, lúc nào không dùng nữa, bạn cần nhớ tắt nó đi. Với chế độ Preemptibility, máy sẽ tự động tắt sau 24h (nên nếu quên không tắt thì cũng không mất nhiều tiền)

    Cấu hình mình chọn là 4 vCPU + 17.5 GB RAM, GPU Tesla P4. Giá để chạy vào khoảng $0.6 / giờ. Với GPU Tesla P100 thì cao hơn chút, vào khoảng $0.8 – $0.9 / giờ.

    Ngoài phí chạy instance, bạn sẽ bị tính phí lưu trữ đĩa cứng nữa. Với disk dung lượng 50GB mình tạo thì mất khoảng $2.2 / tháng. Disk này được giữ đến chừng nào bạn xóa instance.

    Want to receive latest articles from my blog?