Thứ Sáu, 18 tháng 1, 2019

BLOG 3 : HƯỚNG DẪN IMPORT HOST FILE ISO HOẶC VMDK
(WINDOW 7 & UBUNTU)
1. Lời mở đầu:

Khi sử dụng EVE-NG , chúng ta hoàn toàn có thể dùng host VPCS để làm các End-user , tuy nhiên nó sẽ không đầy đủ các tính năng cũng như đáp ứng cho các nhu cầu mang tính mở rộng như một hệ điều hành thực thụ. Cho nên bài viết sau đây sẽ hướng dẫn cách tạo một host ảo hóa như một PC bên trong máy ảo EVE-NG.
Sẽ có 2 phần chính
 - 1 là tạo Window 7 bằng file setup ISO.
 - 2 là tạo Window 7 lẫn Ubuntu trên file VMDK.
Việc tạo máy ảo bằng file ISO sẽ có nhiều thao tác rườm rà nhưng là một nền tảng để hiểu cách mà host máy ảo hoạt động trên EVE-NG, do đó nó sẽ được đặt vào trước tiên so với cách đơn giản hơn là dùm file VMDK.

2. Các công cụ & lưu ý:
- Phần mềm WinSCP.
- Đã cài và sử dụng được EVE-NG
- Dùng Putty hoặc SecureCRT
- Cài đặt phần mềm QEMU để convert  định dạng máy ảo : https://qemu.weilnetz.de/w64/2018/
- Tập tin setup hệ điều hành window 7 ở định dạng iso (nên nhớ là file setup window 7 chứ không phải là những bản ghost win được tích hợp), phải xác định được đó là window 32 hay 64 bit. Đồng thời, tên của tập tin không được có khoảng trống.
- Tạo hệ điều hành window 7 trên Vmware.
- Phải tạo sẵn 1 Hệ điều hành Ubuntu trên Vmware. (Vì Hướng dẫn tạo Ubuntu trên Vmware đã có rất nhiều nên bài này sẽ không hướng dẫn trong bài này). Lưu ý: Nên nhớ là đường dẫn thư mục hay tên file của máy ảo Ubuntu không có khoảng trống.
- Định dạng file vmdk của window 7 hoặc Ubuntu trên VMware là 1 file duy nhất , không được chia (split) ra nhiều ổ đĩa ảo. Dưới đây là tick lựa chọn trong quá trình setup hệ điều hành trên Vmware.
Vì Ubuntu khá khó kiếm link tốc độ cao nên mình sẽ cung cấp. Down Ubuntu phiên bản 64 bit tại đây:  https://drive.google.com/file/d/0B65DIm6DrZJceGltX2VOczNkcEE/edit hoặc https://drive.google.com/uc?id=0B65DIm6DrZJceGltX2VOczNkcEE&export=download

3. IMPORT HOST WINDOW BY ISO FILE:

B1: Sau khi mở máy ảo EVE-NG, đăng nhập vào giao diện web và dùng putty (Secure CRT) truy cập vào giao diện dòng lệnh.
B2: Trên SecureCRT. dùng câu lệnh sau để tạo 1 thư mục sẽ chứa hệ điều hành win 7 trong EVE-NG:
mkdir /opt/unetlab/addons/qemu/win-7test/
 
B3: Mở WinSCP lên, thực hiện các thao tác như ở Blog 1 đã hướng dẫn, mục đích là để đưa file setup win 7 vào trong thư mục /opt/unetlab/addons/qemu/win-7test/ vừa tạo trọng EVE-NG. Các bước đó như sau:
a. Mở WinSCP lên, điền địa chỉ của máy ảo trong mục host name (192.168.159.129), sử dụng port 22(port của giao thức ssh), ở ví dụ này user là root và pass là ahihi. Chọn login để nó connect tới máy ảo.
b. Truy cập đến thư mục vừa tạo trên EVE bằng cửa sổ bên phải của giao diện WinSCP. Ở cửa sổ bên trái truy cập đến thư mục chứa tập tin cài đặt windows 7.
c. Click chuột phải vào tập tin, chọn upload và nhấn OK để copy nó sang EVE-NG. Nên nhớ phải đọc kĩ lưu ý nằm ở phần “2. Các công cụ & lưu ý” đã đề cập tới dành cho bản setup windows 7.
 
d. Kiểm tra xem tập tin setup đã nằm trong thư mục chưa hãy vào SecureCRT và mở thư mục chứa setup windows 7 bằng dòng lệnh sau: cd /opt/unetlab/addons/qemu/win-7test/
e. Sau đó ta kiểm tra xem nó đã nằm ở đó chưa bằng lệnh sau: ll hoặc lệnh ls
f. Như đang thấy, tên của tập tin khá dài, nên sẽ dùng lệnh sau để đổi nó thành tên ngắn hơn cho dễ thao tác: mv en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso win7.iso
 
Như vậy là kết thúc bước 3, di chuyển tập tin setup win 7 vào trong EVE-NG và đổi tên của nó.

B4: Tạo một ổ đĩa ảo mới tên virtioa.qcow2 khi ta vẫn còn đang ở trong thư mục win-7test, dùng để chứa hệ điều hành win 7 và dữ liệu. Kích thước của nó là 26 Gb ( muốn chọn bao nhiêu tùy ý miễn là đừng nhỏ quá ):
/opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 26G
 

B5: Dùng duyệt trình web truy cập tới địa chỉ của eve-ng. Trên giao diện sơ đồ LAB. click chuột phải chọn Node để tạo node mạng window 7. Ttrong mục template chọn cho mình đó là Windows để tạo một PC với hệ điều hành windows 7.



B6: sau đó kéo xuống bên dưới , thiết lập RAM cho PC, vì ở đây mình không có đủ RAM nên cho nó khoảng 512mb. Tuy nhưng một số chỉ dẫn nhiều nơi khuyên nên chọn QEMU là 2.2.0 và NIC là e1000 ( hiện chưa rõ vì sao phải chọn như vậy , có thể do tính tương thích hay không bị lỗi  khi dùng host windows 7). Save lại.


B7: Click chuột phải, chọn network để add thêm 1 đám mây, mục đích của việc tạo đám mây này để cho windows 7 nó kết nối được với mạng internet, cho nó update. Để tạo kết nối ra internet hãy chọn management cloud 0.


B8: Kết nối host với đám mây.
 

B9: Click chuột phải chọn start máy ảo lên. Double click mở cái máy ảo lên và thực hiện cài đặt hệ điều hành.
Lưu ý: Nếu không mở lên được thì có thể do 2 vấn đề , 1 là chưa cài đặt VNC  hoặc cài rồi nhưng EVE-NG không lần ra được thư mục chứa VNC, 2 là chưa mở tính năng ảo hóa trong ảo hóa của VMware lên.
- Trường hợp 1 thì cứ cài VNC , nằm trong bộ cài UnetLab (C:\Program Files\UnetLabca`icai` theo đường dẫn C:\Program Files\uvnc bvba\UltraVNC này vì đôi khi EVE-NG chỉ detect được thư mục này để sử dụng VNC.
- Trường hợp thứ 2 , thì hãy tắt máy ảo , và mở setting của máy ảo EVE-NG lên, chọn processor và tick vào ô Virtualize Intel VT-x/ET or AMD-V/RVI. Mục đích của tick này là cho phép ảo hóa hệ điều hành trong máy ảo hóa EVE-NG. (Còn tick thứ 2 Virtualize CPU performance counters có tick hay không thì cũng không ảnh hưởng gì nhiều đến đến trường hợp 2 này)
 

B10: Tiến hành cài đặt window bình thường, nhưng tới bước chọn ổ đĩa thì làm theo hướng dẫn sau.
a. Chọn Load driver.


b. Chọn browse và chọn ổ đĩa mềm a hoặc b, chắc chắn sẽ có 1 ổ trong 2 ổ mở được , ta sẽ cài windows 7 lên ổ mở được đó, nếu hiện lên như hình thì chọn ổ đĩa mềm b (vì nơi sắp cài hệ điều hành nó nằm 1 trong 2 ổ đó)
 
c. Chọn vào đường dẫn sau: FDD B/storage/2003R2/AMD64
Vì đang cài hệ điều hành 64 bit nên sẽ chọn thư mục AMD64, nếu là hệ điều hành 32 bit như win xp hay win 7 32 bit v… v… thì chọn thư mục FDD B/storage/2003R2/x86


d. Nhấn Ok rồi next, cài đặt win như bình thường. Ta sẽ có một ổ đĩa như thế này, ở đây 26 Gb là do bước trước ta tạo dòng lệnh này: /opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 26G

e. Sau khi cài đặt windows 7 hoàn tất , ta đã có được 1 host window 7.
 

B11: Tuy nhiên có một số vấn đề cần phải giải quyết phòng trừ bất cập về sau:
1. disable Window Update : để window không tự cập nhật nếu lỡ ta thiết kế mô hình mạng cho host đi vào môi trường internet
2. Remote Desktop TCP/IP : cho phép chính sách và dữ liệu của tính năng RemoteDesktop được sử dung.
3. Tạo Host Windows 7 là mặc định để lần sau không cần setup nữa.

Vấn đề 1: Vào thanh tìm kiếm trên nút start , search từ khóa services.msc , tìm dòng windows update , chọn Stop, chọn dòng disabled nó đi
 
  

Vấn đề 2: Remote Desktop TCP/IP, ta cần bật tính năng này ngay từ lúc này để sau này sử dụng truy cập vào từ xa, chẳng hạn như dùng EVE RDP console của EVE, trước tiên ta phải cho phép các máy khác  được truy cập vào . Click chuột phải vào computer chọn Properties. Chọn tab Remote settings , chọn vào “Allow connections from computers running any version of Remote Desktop (less secure)” và OK.

 

Tuy nhiên như vậy là chưa đủ, ta phải vào fire wall để bật policy cho phép dữ liệu remote được ra vào host. Dùng search trong start, tìm Window Firewall. Trong giao diện của Firewall, click phải vào Remote Desktop (TCP/IP), chọn Enable Rule. Tiếp tục nhấn chuột trái hai lần vào Remote Desktop (TCP/IP) . Tick vào domain, private,public rồi OK. Mục đích là để các host cùng trong mạng LAN, cùng domain hay bất kì đâu cũng có thể truy cập Remote vào host Windows 7 được.

 


Vấn đề 3: Điều chỉnh host windows 7 đã setup thành mặc định, có nghĩa là nếu sau này xóa node window 7 đi, ta sẽ không phải tốn công setup lại windows 7 một lần nữa. Ta cần có 3 thông số UUID, NodeID, POD ID.
Sau khi crack bản quyền cho windows 7, Shutdown máy. Ở thanh công cụ bên trái trong giao diện web của EVE, chọn lab detail.
 
Nó sẽ hiện ra một đoạn mã, tùy trường hợp mã sẽ không giống nhau . ở đây là : 9a606994-9f63-4479-92d1-66e67f6e298d. đoạn mã này là UUID.
Click chuột phải vào host để xem số Node ID. Trong hình là NodeID là 1.
 
Sau đó là close LAB và chọn mục management > User Manager. Để lấy chỉ số POD ID, ở đây là 0.
 
Lưu cả 3 chỉ số lại, sẽ cần ở những bước sau. Dùng dòng lệnh với cú pháp sau đánh vào trong Putty hoặc SecureCRT đang ssh vào EVE:
cd /opt/unetlab/tmp/POD ID/UUID/NodeID
như ví dụ trên sẽ là:
cd /opt/unetlab/tmp/0/9a606994-9f63-4479-92d1-66e67f6e298d/1
Dùng tiếp lệnh
/opt/qemu/bin/qemu-img commit virtioa.qcow2
Mục đích là để commit, cho phép máy ảo này sẽ là máy ảo mặc định cho những lần sử dụng sau này nó sẽ nằm trong thư mục chứa setup win 7
Vào trở lại thư mục chứa setup win7 (ở ví dụ là win7.iso, trên hình là cdrom.iso là do lần thứ 2 mình dựng bài lab nàỵ nên tên có hơi thay đổi, không sao , miễn là xác định file setup là file này). Xóa nó đi cho trống ổ cứng:
cd /opt/unetlab/addons/qemu/win-7test/
rm -f win7.iso

 

Có thể kiểm tra thấy ổ đĩa ảo nằm trong thư mục này đã được lưu ổ đĩa ảo và bản iso dùng để setup đã xóa đi.

Thành Công, ta có thể tạo bao nhiêu host windows 7 tùy thích.

 


4. IMPORT UBUNTU BY VDMK FILE
Vì có quá nhiều hướng dẫn cách cài Ubuntu trên Vmware nên bài viết này sẽ không chỉ dẫn thêm, vui lòng xem link sau để biết cách cài đặt:
 https://quantrimang.com/huong-dan-cai-dat-ubuntu-tren-vmware-workstation-p1-116946


Sau khi đã cài đặt Ubuntu trên máy ảo, chạy cái bước cài đặt hệ điều hành , ta sẽ có được giao diện đăng nhập như trên.

B1: Nhấn tổ hợp phím “Window + R” nhấn cmd để mở giao diện command promt của window lên
 

B2: Truy cập vào thư mục cài đặt QEMU : cd Đường dẫn thư mục
Ở ví dụ sau sẽ là cd C:\Users\Administrator\Contacts\Desktop\qemu

 

B3: Dùng cú pháp lệnh sau gõ vào command promt:
qemu-img convert -f vmdk -O qcow2 image.vmdk image.qcow2
Nhiệm vụ của lệnh này là convert file bộ nhớ của máy ảo ubuntu từ định dạng vmdk sang qcow2 để có thể chạy đc trên EVE-NG. Và đối với ví dụ lúc này lệnh chính xác sẽ là :
qemu-img convert -f vmdk -O qcow2 D:\Ubuntu64\Ubuntu.vmdk D:\hda.qcow2
Convert file có định dạng vmdk Ubuntu.vmdk trong thư mục D:\Ubuntu64\ sang file định dạng qcow2 trong thư mục D:\
Lưu ý về việc đặt tên cho file phải tham khảo trong bảng naming sau: https://www.eve-ng.net/documentation/images-table
Như có thể thấy để tạo file qcow2 thì phải có tên file là hda để EVE-NG có thể đọc được.
 
 
B4: Sau khi convert xong. Ta sử dụng winSCP để mang file Ubuntu vào trong EVE-NG.
Tạo thư mục linux-ubuntu trong path sau: /opt/unetlab/addons/qemu/
 
Nên nhớ phải xem cách đặt tên thư mục linux dựa trên cả bản naming lúc nãy, cột thứ nhất. Tên thư mục phải có 6 kí tự đầu là: “linux-“

B5: Sau đó upload file vào trong thư mục linux-ubuntu. Chờ đợi …

B6: Cuối cùng, ta có thể tạo host Ubuntu trên EVE-NG.
Dăng nhập vào EVE-NG giao diện web, vào 1 bài lab click chuột phải tạo 1 node, chọn các tùy chọn phù hợp như lúc tạo host windows 7 file iso, tùy thể trạng máy tính. Save lại.


B7: giai đoạn này không cần thiết lắm, chẳng qua chỉ muốn máy ảo kết nối được mạng internet. Tạo một đám mây internet với tùy chọn Cloud 0 (Management), sau đó nối với máy ảo ubuntu và click chuột phải vào máy ảo, chọn start máy ảo lên.
Double click vào máy ảo và trải nghiệm.

 

Như vậy, đã tạo thành công máy ảo Ubuntu. Có thể tạo nhiều máy ảo Ubuntu cùng lúc.

5. IMPORT WINDOWS 7 BY VDMK FILE

Tương tự Ubuntu , có nhiều hướng dẫn cách cài Window 7 trên Vmware nên bài viết này sẽ không chỉ dẫn thêm, vui lòng xem link sau để biết cách cài đặt:
https://www.howkteam.vn/course/huong-dan-cai-dat/huong-dan-cai-dat-windows-7-64bit-len-vmware-12-pro-115
 
Sau khi đã cài đặt Window 7 trên máy ảo, ta sẽ được các tập tin như trên.
Chạy các bước cài đặt hệ điều hành win 7, cái này cơ bản nên không hướng dẫn.
B1: Ở máy tính thật, nhấn tổ hợp phím “Window + R” nhấn cmd để mở giao diện command promt của window lên, truy cập vào thư mục chứa QEMU, như đã làm với Ubuntu.
 
Dùng lệnh sau: cd C:\Users\Administrator\Contacts\Desktop\qemu

B2:
Dùng lệnh để convert file bộ nhớ của máy ảo ubuntu từ định dạng vmdk sang qcow2,  chạy được trên EVE-NG:
qemu-img convert -f vmdk -O qcow2 E:\Windows7x64.vmdk D:\hda.qcow2
Convert file có định dạng vmdk Windows7x64.vmdk trong thư mục E:\ sang file định dạng qcow2 trong thư mục D:\ 
 
Lưu ý đặt tên cho file phải tham khảo trong bảng naming sau: https://www.eve-ng.net/documentation/images-table
Có thể thấy để tạo file qcow2 thì phải có tên file là hda hoặc virtioa để EVE-NG có thể đọc được.
 

B3: Sau khi convert xong. Ta sử dụng winSCP để mang file Window 7 vào trong EVE-NG.
Tạo thư mục win-7test trong path sau: /opt/unetlab/addons/qemu/
Xem cách đặt tên thư mục win 7 dựa trên cả bản naming cột thứ nhất. Tên thư mục phải có 4 kí tự đầu là: “win-“



B4: Upload file hda.qcow2 từ máy thật vào máy ảo EVE-NG. Wait…

B5: Sau đó, vào giao diện web trên EVE-NG để kiểm tra thành quả.
Vào 1 bài lab click chuột phải tạo 1 node, chọn các tùy chọn phù hợp cho cấu hình rồi save lại
 

B6: kết nối host với đam mây mạng internet, cách tạo hướng dẫn ở bên trên. Sau đó start host lên, mở máy ảo bằng VNC và tận hưởng.
 

CHÚC MỪNG BẠN ĐÃ THÀNH CÔNG KHI TẠO CÁC HOST ẢO TRÊN EVE-NG!!!