Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.94 MB, 29 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small>Page 2</small>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>1. Khái niệm về Hypervisor: </b>
- Là một phần mềm, phần cứng hoặc một chương trình, có vai trị khởi tạo, quản lývà điều khiển nhiều máy ảo trên cùng một máy chủ vật lý duy nhất.
- Mỗi Hypervisor cho phép mỗi một máy ảo hoặc khách truy cập vào các lớp tàinguyên vật lý bên dưới, bao gồm CPU, bộ nhớ lưu trữ hoặc RAM. Ngoài ra,Hypervisor cũng có thể giới hạn số lượng tài nguyên phân chia cho từng máy ảo,đảm bảo nhiều máy ảo có thể cùng hoạt động trên một hệ thống.
<b>1.1. Hypervisor loại 1 (Native): Một hypervisor ở dạng native (hay còn gọi</b>
“bare-metal”) chạy trực tiếp trên phần cứng. Nó nằm giữa phần cứng và mộthoặc nhiều hệ điều hành khách (guest operating system); được khởi độngtrước cả hệ điều hành và tương tác trực tiếp với kernel. Điều này mang lại hiệusuất cao nhất có thể vì khơng có hệ điều hành chính nào cạnh tranh tài ngunmáy tính với nó và nhìn chung nó chạy nhanh hơn, hiểu quả hơn hostedhypervisors.
VD: Vmware ESXi, Microsoft Hyper-V, Apple Boot Camp.
<b>1.2. Hypervisor loại 2 (Hosted): Một hypervisor dạng hosted được cài đặt trên</b>
một máy tính chủ (host computer), mà trong đó có một hệ điều hành đã đượccài đặt. Nó chạy như một ứng dụng cũng như các phần mềm khác trên máytính; cho phép cài các hệ điều hành khác chạy trên nó. Tuy nhiên, nó sẽ có độtrễ cao hơn so với bare-metal hypervisors vì phải giao tiếp với phần cứng
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>2. Khái niệm về QEMU (Quick Emulator): là một trình giả lập và ảo hóa. Nó có</b>
mơ phỏng nhiều thiết bị trong phần cứng như CPU, bộ nhớ, ổ nhớ và các cổngmạng. QEMU cũng có thể tạo máy ảo có các hệ điều hành và ứng dụng chạy trênmôi trường tách biệt với máy chủ.
<b>3. Khái niệm về KVM (Kernel Virtualization Machine): là một cơng nghệ ảo hóa</b>
mã nguồn mở tích hợp vào nhân Linux. Nó cho phép tạo và quản lý các máy ảotrên các máy chủ vật lý. KVM hoạt động như một hypervisor, tạo môi trường ảođể chạy nhiều hệ điều hành và ứng dụng độc lập trên cùng một máy chủ.
<small>Page 4</small>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>* Nhìn chung, KVM hiệu quả và tối ưu hơn QEMU về mặt hiệu năng. Bởi KVM sử</b>
dụng cơng nghệ ảo hóa tích hợp trong phần cứng để sử dụng tài nguyên trực tiếp, cịnQEMU chỉ mơ phỏng lại phần cứng trong phần mềm.
<b>4. Các khái niệm khi thiết lập hệ thống máy ảo:</b>
<b>4.1 . Khái niệm về Bridge network: thường được sử dụng trong mơi trường ảo</b>
hóa và mơi trường điện toán đám mây để kết nối các máy ảo (VMs) hoặc cáccontainer với mạng vật lý. Khi sử dụng bridge network, một bridge sẽ hoạtđộng như một "cây cầu" giữa các máy ảo và mạng vật lý, cho phép chúng giaotiếp với nhau và với các thiết bị khác trên cùng một mạng.
<b>4.2 . VNC (Virtual Network Computing): là một công nghệ cho phép bạn điều</b>
khiển, quản lý và truy cập vào một máy tính từ xa thơng qua internet một cáchthuận tiện và dễ dàng. VNC hoạt động dựa trên mơ hình client/server:
<b>4.2.1 VNC Server: là một phần mềm cho phép người dùng có thể truy</b>
cập và điều khiển nó từ một thiết bị khác. VNC Server sử dụng giaothức TCP và cổng 5900 trở lên. Nó hoạt động bằng cách ghi nhậnnội dung framebuffer và chia sẻ chúng với VNC Client.
<b>4.2.2 VNC Client (Viewer): Thơng qua một kết nối mạng, VNC Client có</b>
thể hiển thị và điều khiển màn hình máy tính từ xa như làm việc trực
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>4.2.3 Cách thức hoạt động của VNC</b>
VNC Server ghi nhận dữ liệu framebuffer, là các thơng tin về hình ảnh hiểnthị trên màn hình máy tính. Dữ liệu này được chuyển đổi thành các gói tin vàgửi từ VNC Server tới VNC Client thông qua kết nối mạng.
Khi nhận được các gói tin từ VNC Server, VNC Client tạo ra một bản sao táihiện của màn hình máy tính nguồn trên màn hình của mình. Điều này chophép người dùng từ xa xem và tương tác với màn hình máy tính nguồn.
Kết quả là, mọi hành động và tương tác từ người dùng trên VNC Client sẽđược chuyển tiếp tới VNC Server thông qua kết nối mạng và VNC Server sẽthực hiện các thao tác tương ứng trên máy tính nguồn. Điều này cho phépngười dùng từ xa điều khiển và làm việc trên máy tính một cách dễ dàng vàhiệu quả từ một nơi khác.
<b>5.Khái niệm về Libvirt:</b>
- Libvirt là một bộ các phần mềm mà cung cấp các cách thuận tiện để quản lý máyảo và các chức năng của ảo hóa, như là chức năng quản lý lưu trữ và giao diệnmạng. Những phần mềm này bao gồm một thư viện API, daemon (libvirtd) và cácgói tiện tích giao diện dịng lệnh (virsh).
<small>Page 6</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"> Ở mơ hình này nhóm thiết lập mạng bridge, dùng để kết nối các máy ảo với mạngvật lý của máy chủ chứa chúng. Khi tạo mạng bridge trên máy chủ chạy KVM(192.168.189.132), nhóm tạo ra một giao diện mạng ảo mới (đặt tên là nm-bridge,và có IP là 192.168.189.130) trên máy chủ đó. Các máy ảo có thể được kết nối vớimạng bằng cách gắn giao diện mạng ảo của chúng với giao diện mạng này.
Với mạng bridge, các máy ảo có thể giao tiếp với các thiết bị và mạng vật lý khácnhư các máy tính và thiết bị mạng trong cùng một mạng mà máy chủ chứa KVMđang kết nối đến (khi đó các máy ảo sẽ thuộc lớp mạng 192.168.189.0/24). Điềunày cho phép các máy ảo chạy trên KVM hoạt động như các máy vật lý trong cùngmột mạng với các ứng dụng và dịch vụ khác trên mạng.
<b>* Kiểm tra và cập nhật các gói phần mềm lên phiên bản mới nhất:</b>
<b>* Kiểm tra CPU có hỗ trợ ảo hóa Intel VT hay khơng:</b>
- Vào trang web Intel để kiểm tra thông số của CPU để đảm bảo có hỗ trợ ảo hóa:
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">- Vào cửa sổ Window Features, sau đó bỏ tick Windows Hypervisor Platform và Virtual Machine Platform.
- Restart máy và sử dụng câu lệnh “egrep -c '(vmx|svm)' /proc/cpuinfo” để kiểm traCPU có hỗ trợ ảo hóa hay khơng (Nếu giá trị trả về khác 0 thì hỗ trợ ảo hóa):
<small>Page 8</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><b>- Thêm người dùng vào KVM, vào nhóm libvirt.</b>
<b>- Cấu hình mạng Bridge cho hệ thống KVM (phương pháp để kết nối nhiều thiết bị</b>
mạng lại với nhau để tạo thành một mạng lớn hơn, trong đó các thiết bị này có thểgiao tiếp với nhau như thể chúng kết nối trực tiếp).
<b>- Dùng nmtui để cấu hình mạng bridge vào mạng chính</b>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>- Chọn Edit a connection, lựa chọn mạng chính đầu tiên và chọn Add để tạo một </b>
bridge mới.
<b>- Bridge được tạo có tên là nm-bridge</b>
<b>- Sau đó thêm mạng Ethernet vào trong Slaves của mạng bridge này bằng Add.</b>
<small>Page 10</small>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>- Sau đó ra ngồi và xóa mạng wire connection 1 đi.</b>
<b>- Đợi khoảng 1 phút sau đó vào xem ip mạng bridge đã được cài đặt.</b>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><i>--disk path=/var/kvm/images/ubuntu2204.img,size=20 \--vcpus 2 \</i>
<i>--os-variant ubuntu22.04 \--network bridge=nm_bridge \--graphics none \</i>
<i>--console pty,target_type=serial \</i>
<i>--location amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd \</i>
<i>/home/kvmubuntu/Downloads/ubuntu-22.04.4-live-server---extra-args 'console=ttyS0,115200n8'</i>
<b>- Sau khi tải sẽ hiện ra các màn hình hiển thị để cấu hình virtual machine, như sau:</b>
o Chọn basic mode:
<small>Page 12</small>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">o B1: Chọn keyboard theo ý muốn.
o B2: Ở “choose type of install” chọn theo ý muốn.o B3: Thiết lập kết nối mạng.
o B4: Thiết lập proxy.
o B5: Thiết lập thông tin người dùng, user của máy ảo:
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"> Đặt password: 123456ab.o B6: Cài đặt SSH.
<b>- Đăng nhập vào client, qua lệnh :</b>
<small>Page 14</small>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><b>- Tạo một bản sao của máy ảo “ubuntu2204” và lưu nó vào một tệp image mới</b>
“template.ing” trong đường dẫn /var/kvm/images/. Điều này để tạo ra một bản saotiêu chuẩn để triển khai nhiều máy ảo khác nhau dựa trên cùng một cấu hình banđầu.
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><b>- Tạo VM mới, sẽ có kết quả sau đây:</b>
<b>- Ở mục network selection chọn mạng bridge và nhập tên của mạng bridge đã tạo ở </b>
trước đó (nm-bridge)
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b>- Cài đặt máy ảo ubuntu trong KVM như bình thường, với thơng tin sau:</b>
<b>- Khởi động máy ảo:</b>
<b>- Truy câp vào console của máy ảo:</b>
<small>Page 18</small>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>- Tắt máy ảo, mở chế độ tự động mở máy ảo khi khởi động host, và tắt chế độ đó:</b>
<b>- Ý nghĩa các lệnh:</b>
“virt-ls -l -d ubuntu2204 /root”: sẽ liệt kê nội dung của thư mục /root trongmáy ảo có tên là "ubuntu2204", và hiển thị thông tin chi tiết về các tệp vàthư mục trong đó.
“virt-cat -d ubuntu2204 /etc/passwd”: sẽ hiển thị nội dung của tệp/etc/passwd trong máy ảo có tên là "ubuntu2204". Điều này có thể hữu íchđể xem thơng tin về các tài khoản người dùng trong máy ảo đó.
“virt-edit -d ubuntu2204 /etc/fstab”: sẽ mở tệp /etc/fstab trong máy ảo cótên là "ubuntu2204" để có thể chỉnh sửa nó. Điều này có thể hữu ích đểđiều chỉnh cài đặt hệ thống tệp của máy ảo, chẳng hạn như thêm hoặc chỉnhsửa các phân vùng được gắn kết tự động.
“virt-df -d ubuntu2204”: nó sẽ hiển thị thơng tin về việc sử dụng dunglượng đĩa của máy ảo "ubuntu2204", bao gồm thông tin về dung lượng sửdụng, dung lượng trống và tổng dung lượng của các phân vùng đĩa trên máyảo đó. Điều này có thể giúp bạn kiểm tra tình trạng sử dụng dung lượng đĩacủa máy ảo và quản lý không gian đĩa một cách hiệu quả.
“virt-top”: cung cấp một giao diện dòng lệnh để theo dõi các thơng số nhưtài ngun sử dụng (CPU, bộ nhớ), tình trạng hoạt động của các máy ảo,thống kê về I/O, và nhiều thông tin khác.
<small>Page 20</small>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><b>- Dùng lệnh virsh dưới quyền sudo để chỉnh sửa file.</b>
<b>- Thêm các cấu hình và cài đặt password theo ý mình, đặt một số cố định và độc</b>
nhất cho slot.
<b>- Dùng lệnh để cài đặt giao diện mặc định cho máy ảo được cài bằng command,</b>
đồng thời cũng là máy ảo dùng để tạo kết nối VNC.
<b>- Sau đó reboot để áp dụng cài đặt.</b>
<b>- Sử dụng phần mềm Remote Viewer để liên kết đến máy ảo:</b>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">* Với: 10.0.0.131 là địa chỉ IP của máy host. 5900 là cổng port đã cài đặt trước đó.
<b>- Nhấn connect để bắt đầu kết nối đến máy ảo và có thể thao tác trực tiếp vào máy</b>
ảo thông qua Remote Viewer.
<b>- Sau khi cài đặt Virtual BMC xong, ta gắn một Virtual BMC vào máy ảo.</b>
<small>Page 22</small>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><b>- Khởi động Virtual BMC với tên ubuntu.ver1.</b>
<b>- Mở máy ảo ubuntu.ver1 bằng Virtual BMC</b>
<b>- Tắt máy ảo ubuntu.ver1 bằng Virtual BMC</b>
<b>- Nhập username và password như những gì đã cài đặt</b>
<b>- Kết quả:</b>
<b>- Tạo máy ảo ubuntu.ver1 bằng app Virtual Machine Manager, đồng thời app cũng </b>
hiện máy ảo ubuntu2204 được tạo bằng command.
<b>- Login vào máy ảo </b>
<small>Page 24</small>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25"><b>- Để đảm bảo các máy ảo hoạt động thì máy ảo chính và 2 máy ảo được tạo ra phải </b>
ping được đến nhau và ra internet.
<i>IP của máy ảo chính: 10.0.0.131IP của ubuntu.ver1: 10.0.0.132IP của ubuntu2204: 10.0.0.133</i>
<b>- Ping từ máy ảo chính đến máy ảo được tạo bằng command (ubuntu2204) và ngược</b>
lại.
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26"><b>- Ping 2 máy ảo với nhau</b>
<b>- Từ các máy ảo ping ra internet ( youtube.com )</b>
<b>- Ping từ máy chính ra internet</b>
<small>Page 26</small>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27"><b>- Dùng phần mềm Remote Viewer để thao tác gián tiếp lên máy ảo đã cài đặt VNC- Dùng lệnh để kết nối. Với 10.0.0.131 là địa chỉ IP của máy chính, port 5900 là số </b>
cổng đã cài đặt vào máy ảo trước đó.
<b>- Sau khi kết nối, cửa sổ phần mềm hiện ra giao diện desktop của máy ảo và ta có </b>
thể thao tác thẳng trên máy ảo đó thơng qua chính cửa sổ này.
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28"><b>- Các máy ảo hoạt động bình thường, ra được internet và dùng Remote Viewer </b>
<small>Page 28</small>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29"><i>1) ty (2023). Hypervisor là gì? Từ A-Z về phần mềm giám sát máy ảo Hypervisor. [online] CMC Cloud. Available at: [Accessed 2 May 2024].</i>
<i>2) ty (2023). KVM là gì? Những điều cơ bản doanh nghiệp cần biết về KVM. [online] CMC Cloud. Available at: [Accessed 2 May 2024].</i>
<i>3) Blog | TheGioiMayChu. (n.d.). Hypervisor. [online] Available at: </i>
<i> [Accessed 2 May 2024].4) www.linkedin.com. (n.d.). QEMU vs KVM: A Quick Comparison. [online] </i>
<i>Available at: raja-nagori-#:~:text=KVM%20generally%20outperforms%20QEMU%20in [Accessed 2 May 2024].</i>
<i> cloud.z.com. (2023). Từ A-Z về CentOS. So sánh CentOS Stream và CentOS LinuxZ.com Cloud – Tốc Độ Cao Khởi Tạo Nhanh Chóng. [online] Available at: [Accessed 2 May 2024].</i>
<i>6) VietTuanS (n.d.). VNC là gì? Tính năng và lợi ích nổi bật của VNC. [online] Việt Tuấn - Phân Phối Thiết Bị Mạng, Wifi, Thiết Bị Lưu Trữ NAS. Available at: [Accessed 2 May 2024].</i>
<i>8) lạc, C. vịt (2020). Giải ngố Virtualization – Phần 6: Cơ chế cấp IP Address trên Kali Linux VM, đọc ngay để tránh bị ăn hành bởi VMware network. [online] Dummytip. Available at: [Accessed 6 May 2024].</i>
<i>9) lạc, C. vịt (2020). Giải ngố Virtualization – Phần 5: 3 chế độ VMware Network configuration mà bạn nhất định phải biết. [online] Dummytip. Available at: [Accessed 6 May 2024].</i>
<i>10) lạc, C. vịt (2020). Giải ngố Virtualization – Phần 7: Cấu hình thủ công IP </i>
<i>Address trên Kali Linux và đả thông kinh mạch đường mạng. [online] Dummytip. Available at: