Hiện tại với nhu cầu chạy các ứng dụng trên nhiều hệ điều hành khác nhau cũng như để phục vụ việc học lập trình & DevOps, ảo hoá là một công nghệ rất hữu ích. Có rất nhiều phần mềm để làm được việc này như VMWare, Parallels, BootCamp, QEMU,... Nhưng VirtualBox vẫn dễ và gọn nhẹ nhất.
Vì thế trong bài viết này mình sẽ hướng dẫn các bạn dùng VirtualBox để tạo máy ảo dùng hệ điều hành Ubuntu để phục vụ việc học lập trình và DevOps về sau nha.
VirtualBox là gì
VirtualBox là phần mềm ảo hoá cho các nền tảng sử dụng kiến trúc chip x86, AMD64/Intel64. VirtualBox có thể dùng cho nhu cầu của doanh nghiệp hay cá nhân với nhiều tính năng mạnh mẽ, hiệu năng và hoàn toàn miễn phí.
Ở thời điểm bài viết này, VirtualBox có thể chạy trên Windows, Linux, Macintosh, các máy chủ Solaris và hỗ trợ rất nhiều các hệ điều hành mã nguồn mở. Đối với hệ điều hành Windows, VirtualBox hỗ trợ không giới hạn các phiên bản: NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10,...
VirtualBox hiện cũng rất được cộng đồng quan tâm và tích cực phát triển. Mặc dù thuộc sở hữu của Oracle, tuy nhiên công ty này luôn khuyến khích mọi người đóng góp để VirtualBox ngày càng nâng cao được chất lượng, đáp ứng các nhu cầu sản phẩm chuyên nghiệp.
Tại sao phải dùng VirtualBox
- Linh động và tối ưu tài nguyên máy chủ (vật lý): Nếu bạn có một máy tính mạnh mẽ, nhiều RAM, CPU và bạn quyết định cài mọi thứ lên nó thì sẽ khá lãng phí vì không tận dụng được hết tài nguyên. Việc ảo hoá thành các máy ảo nhỏ hơn sẽ giúp bạn tận dụng được tốt hơn.
- Chạy được nhiều hệ điều hành cùng lúc: Không cần phải cài đặt các hệ điều hành trực tiếp vào máy thật (máy vật lý) của và boot qua lại. VirtualBox sẽ giúp ta làm được việc đó. Tất cả máy ảo có thể hoạt động cùng lúc tuỳ vào giới hạn của máy tính của bạn.
- Dễ cài đặt và tháo lắp: VirtualBox hỗ trợ các tính năng để dễ dàng cài đặt, thiết lập cũng như di dời các máy ảo. Những hệ thống phần mềm phức tạp đến đâu cũng có thể được lưu lại dưới dạng các snapshot (image) để chia sẻ và dùng lại trong VirtualBox.
- Hỗ trợ các công cụ ảo hoá khác: Một số công cụ ảo hoá ở cấp độ container như Docker, Vagrant có thể giao tiếp tốt với VirtualBox. Bạn từ đó có thể quản lý các máy ảo như source code thông thường (infrastructure as code). Điều này rất quan trọng khi bạn có quá nhiều máy ảo cần phải quản lý.
Hướng dẫn tạo máy ảo Ubuntu với VirtualBox
Mục đích chính của bài viết này là dành cho những bạn developer đang muốn tìm hiểu tự học DevOps và Linux (Ubuntu). Đây là các bước hướng dẫn chi tiết để tạo máy ảo Ubuntu và các thiết lập cần thiết:
1. Cài đặt và chạy VirtualBox trên máy tính cá nhân
Các bạn truy cập trang chủ của VirtualBox và tải phiên bản cài đặt phù hợp với máy tính của mình nhé. Các bước cài đặt rất đơn giản nên mình xin được bỏ qua.
Lưu ý: máy tính mình thực hiện hướng dẫn là MacOS, có thể phần UI sẽ trông hơi khác so với các bạn dùng Windows.
Khi cài đặt xong thì các bạn chạy VirtualBox lên nếu thành công thì sẽ thế này:
2. Tạo một máy ảo Linux trên VirtualBox
Ở giao diện khởi động VirtualBox, bấm nút "New":
Trong giao diện này có 2 phần là thông tin của hệ điều hành và giới hạn tài nguyên bộ nhớ cấp phát.
Các bạn có thể dùng bất kỳ cái tên nào cho máy ảo của mình, phần Type chọn Linux và Version là Ubuntu (64-bit). Thông thường mình sẽ set cho máy ảo từ 512MB - 2048MB tuỳ vào mục đích sử dụng cũng như lượng RAM thực tế của máy thật. Trong ví dụ này mình chọn 1024MB (1GB RAM).
Bấm Create để đến giao diện tiếp theo:
Ở bước này chỉ đơn giản là các bạn chọn dung lượng ổ cứng cho máy ảo, mình vẫn giữ tất cả thiết lập mặc định từ VirtualBox là 10GB, loại VDI và Dynamically allocated (cấp phát động).
Các bạn đừng lo sẽ tốn ngay 10GB này nhé, trong máy ảo dùng đến đâu thì nó lấy đến đó.
Bấm tiếp Create là hoàn tất việc tạo máy ảo Ubuntu:
Fix lỗi (nếu có) cho những bạn chạy VM trên MacOS
Mình đoán những bạn MacOS khi run máy ảo lần đầu sẽ bị lỗi giống thế này:
Lỗi này do MacOS mặc định sẽ chặn các phần mềm thứ ba thực hiện các chức năng can thiệp hệ thống. Chúng ta cần cấp phép cho VirtualBox trong phần System Preferrences -> Security & Privacy:
3. Cài đặt hệ điều hành Ubuntu cho máy ảo
Sau khi hoàn tất bước 2 thì các bạn có một máy ảo dù thuộc kiểu Linux (Ubuntu) rồi nhưng nó trống trơn. Nên sẽ cần cài Ubuntu vào như sau:
Đầu tiên nếu chưa có file ISO Ubuntu thì các bạn cần download tại đây.
Sau đó bạn hãy bấm chọn máy ảo Ubuntu, bấm nút Settings và đến tab Storage:
Các bạn chọn ổ đĩa (icon giống ổ CD) rồi chọn file iso Ubuntu tải về trước đó rồi bấm OK.
Sau đó các bạn chọn lại máy ảo rồi Start nó lên nhé:
Tất cả những bước còn lại chỉ là chọn và điền các thông tin bạn muốn vào thôi. Theo mình, các bạn nên chọn các thiêt lập mặc định sẵn có cho đơn giản.
Quan trọng là ở bước tạo account login, các bạn nhớ lưu username và password để sử dụng nhé:
Ở bước SSH Setup, hãy stick vào ô "Install OpenSSH Server":
Các bước sau các bạn cứ bỏ qua và Done là được. Việc còn lại là chờ đợi quá trình setup hoàn tất... chọn Reboot Now để khởi động lại máy ảo.
Lời kết
Như vậy là các bạn đã có được một máy ảo hệ điều hành Ubuntu để tự học Linux cũng như cài đặt một số service cần thiết. Chúc các bạn thành công!
Nếu bạn có định hướng trở thành DevOps chuyên nghiệp thì bạn có thể tham khảo khoá học DevOps for Backend Developer tại đây.
Bài viết liên quan:
- Docker Compose là gì? Các lệnh cơ bản trong Docker Compose
- Microservices: Những sai lầm và chiến lược chuyển đổi từ Monolith
- Giới thiệu kiến trúc Microservice
Việt Trần
Yêu thích tìm hiểu các công nghệ cốt lõi, kỹ thuật lập trình và thích chia sẻ chúng tới cộng đồng
follow me :
Bài viết liên quan
Grafana Loki là gì? So sánh Loki và Elasticsearch
Nov 16, 2024 • 6 min read
Webhook là gì? So sánh Webhook và API
Nov 15, 2024 • 8 min read
Two-Factor Authentication (2FA) là gì? Vì sao chỉ Mật khẩu thôi là chưa đủ?
Nov 13, 2024 • 7 min read
ELK là gì? So sánh hiệu suất giữa ELK và PLG
Nov 06, 2024 • 9 min read
Docker Best Practices: Tối ưu Dung lượng Docker Image
Oct 30, 2024 • 8 min read
SQL Injection là gì? Những cách phòng ngừa SQL Injection
Oct 25, 2024 • 10 min read