Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

前言

其实Windows可以直接建站的,IIS比nginx也好用,完全的图形化界面,只是因为Windows系统搭建php环境太过繁琐,而且日常备份和日后迁移的话可能会有兼容问题。最终还是决定Windows Server做宿主机系统,hyper-V安装Linux搭建LNMP环境建站。

为什么选择Hyper-V

商家的面板是提供各种系统的,包括PVE和EXSI等底层虚拟机,为啥最终选择Windows做宿主机系统?额,大概站长比较讨厌命令行吧,能可视化完成的事情,比敲命令愉快多了。

而且hyper v可以随时创建检查点,可以随时备份和恢复,方便迁移,即使换宿主机也可以快速恢复不用重新安装系统,全部都是GUI而且和我们日常的Windows操作逻辑一样。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射
检查点

性能损耗很少,hyper v效率很高。

hyper v下linux yabs跑分

Basic System Information:
---------------------------------
Uptime     : 0 days, 0 hours, 4 minutes
Processor  : Intel(R) Xeon(R) E-2236 CPU @ 3.40GHz
CPU cores  : 12 @ 3373.971 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM        : 21.5 GiB
Swap       : 975.0 MiB
Disk       : 391.7 GiB
Distro     : Debian GNU/Linux 11 (bullseye)
Kernel     : 5.10.0-18-amd64

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 349.88 MB/s  (87.4k) | 910.99 MB/s  (14.2k)
Write      | 350.80 MB/s  (87.7k) | 915.79 MB/s  (14.3k)
Total      | 700.68 MB/s (175.1k) | 1.82 GB/s    (28.5k)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 1.11 GB/s     (2.1k) | 1.27 GB/s     (1.2k)
Write      | 1.17 GB/s     (2.2k) | 1.36 GB/s     (1.3k)
Total      | 2.28 GB/s     (4.4k) | 2.64 GB/s     (2.5k)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed     
                |                           |                 |                
Clouvider       | London, UK (10G)          | 959 Mbits/sec   | 940 Mbits/sec  
Online.net      | Paris, FR (10G)           | 954 Mbits/sec   | 938 Mbits/sec  
Hybula          | The Netherlands (40G)     | 960 Mbits/sec   | 942 Mbits/sec  
Uztelecom       | Tashkent, UZ (10G)        | 892 Mbits/sec   | 894 Mbits/sec  
Clouvider       | NYC, NY, US (10G)         | 901 Mbits/sec   | 768 Mbits/sec  
Clouvider       | Dallas, TX, US (10G)      | 867 Mbits/sec   | 869 Mbits/sec  
Clouvider       | Los Angeles, CA, US (10G) | 846 Mbits/sec   | 853 Mbits/sec  

Geekbench 5 Benchmark Test:
---------------------------------
Test            | Value                         
                |                               
Single Core     | 1157                          
Multi Core      | 5503                          
Full Test       | https://browser.geekbench.com/v5/cpu/17192087

Windows下geekbench 5跑分

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

无虚拟化Linux下跑分

asic System Information:
---------------------------------
Uptime     : 0 days, 3 hours, 31 minutes
Processor  : Intel(R) Xeon(R) E-2236 CPU @ 3.40GHz
CPU cores  : 12 @ 900.305 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 31.1 GiB
Swap       : 7.5 GiB
Disk       : 450.0 GiB
Distro     : Debian GNU/Linux 11 (bullseye)
Kernel     : 5.10.0-17-amd64

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 851.72 MB/s (212.9k) | 934.60 MB/s  (14.6k)
Write      | 853.97 MB/s (213.4k) | 939.52 MB/s  (14.6k)
Total      | 1.70 GB/s   (426.4k) | 1.87 GB/s    (29.2k)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 1.14 GB/s     (2.2k) | 1.31 GB/s     (1.2k)
Write      | 1.20 GB/s     (2.3k) | 1.40 GB/s     (1.3k)
Total      | 2.35 GB/s     (4.6k) | 2.72 GB/s     (2.6k)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed     
                |                           |                 |                
Clouvider       | London, UK (10G)          | 940 Mbits/sec   | 940 Mbits/sec  
Online.net      | Paris, FR (10G)           | 938 Mbits/sec   | 938 Mbits/sec  
Hybula          | The Netherlands (40G)     | 942 Mbits/sec   | 942 Mbits/sec  
Uztelecom       | Tashkent, UZ (10G)        | 885 Mbits/sec   | 894 Mbits/sec  
Clouvider       | NYC, NY, US (10G)         | 891 Mbits/sec   | 898 Mbits/sec  
Clouvider       | Dallas, TX, US (10G)      | 860 Mbits/sec   | 870 Mbits/sec  
Clouvider       | Los Angeles, CA, US (10G) | 842 Mbits/sec   | 854 Mbits/sec  

Geekbench 5 Benchmark Test:
---------------------------------
Test            | Value                         
                |                               
Single Core     | 1362                          
Multi Core      | 5953                          
Full Test       | https://browser.geekbench.com/v5/cpu/17175097

目前hyper v存在的问题:

  • Windows不是开源免费的,需要购买微软授权码。
  • Windows占用大量资源,系统本身就占用一部分RAM和硬盘,加上虚拟机占用的空间,至少需要100G空间来给Windows使用。
Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

Windows Server安装hyper V环境

打开服务器管理器,点击添加角色和功能。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射
打开服务器管理器,点击添加角色和功能

选择基于角色或者功能的安装

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射
选择基于角色或者功能的安装

在服务器角色中选择Hyper-V(站长已经安装过了)

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射
在服务器角色中选择Hyper-V(站长已经安装过了)

然后一直下一步--重启即可。

重启后再次打开服务器管理器,就有Hyper-V选项了。右击选择Hyper-V管理器即可打开。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

Hyper-V安装debian

建立虚拟网卡

Hyper-V管理器右边点击虚拟交换机管理器--新建虚拟网络交换机--随意命名--选择内部网络--确定

我们要搭建NAT模式,不要选择外部网络的桥接模式,这样安装linux的时候,系统读不出ipv4地址。而且桥接模式下物理网卡开启共享会直接导致你无法通过3389端口连接到你的服务器,若商家面板没有提供带外管理(Out-of-band management)就只能重装系统了。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

配置完虚拟网卡后,打开设置--网络和Internet--更改适配器选项,会发现多了一个虚拟网卡。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

首先在你的物理网卡右击--属性--共享--打勾

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

然后选择虚拟网卡--属性--Internet协议4--使用下面的地址 一般系统会自动配置好

DNS服务器自己找快速的就行

虚拟网卡就配置完成了。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

虚拟机设置

右边新建--虚拟机

名称--位置--自定义

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

第一代就是传统模式的引导

第二代就是UEFI

安装Liunx,硬盘没超过2T,建议第一代就行。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

内存自定义

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

配置网络--选择刚才的虚拟网卡

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

硬盘容量--大小--位置--自定义

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

安装选项--从cd安装--选择映像你下载的iso文件

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

完成搞定

你创建的虚拟机右键--可以选择处理器核心数以及虚拟机性能释放限制。

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

剩下就是启动--安装系统。

linux设置

上面虚拟网卡是NAT,安装完linux后ip默认是动态的,要设置成静态ip,否则后面会影响虚拟机端口映射

首先查看linux分配到的ip

ip addr show

一般会显示你的内网回环地址和DHCP分到的地址

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:d2:41:01 brd ff:ff:ff:ff:ff:ff
    inet 192.168.137.156/24 brd 192.168.137.255 scope global eth0
       valid_lft forever preferred_lft forever

只要记住eth0就好

修改/etc/network/interfaces,删除iface eth0 inet dhcp

按以下格式修改

allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.137.156(linux中查询的地址)
netmask 255.255.255.0(上面虚拟网卡中的子网地址)
gateway 192.168.137.1(上面虚拟网卡的地址)

修改完毕,重启网络或者直接重启虚拟机。

systemctl restart networking

端口映射

配置完虚拟机后,要想从外网连接上虚拟机,必须把虚拟机的端口映射到宿主机的端口,端口可以不一样,比如把虚拟机的22端口映射到宿主机233端口。

打开宿主机的CMD或者PowerShell

查询端口映射情况
netsh interface portproxy show v4tov4
Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

添加端口映射

netsh interface portproxy add v4tov4 listenport=223 listenaddress=xx.xx.xx.xx(宿主机) connectaddress=xx.xx.xx.xx(虚拟机) connectport=22
删除一个端口映射
netsh interface portproxy delete v4tov4  listenaddress=xx.xx.xx.xx(宿主机) listenport=8888

Windows防火墙放行端口

端口映射完后,需要在Windows防火墙里放行。

以22端口为例:

服务器管理器--工具--高级安全Windows防火墙

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

添加入站规则---入站规则---新建规则

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

选择端口

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

输入你要放行的端口和协议(TCP/UDP)

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

允许连接

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

全勾选

Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

名称自定义,确认完成。

到此,已经可以从外网通过ssh连接到虚拟机了。

文章版权归作者所有。发布者:白嫖怪,转转请注明出处:https://c7pai.com/579/

(0)
白嫖怪白嫖怪
上一篇 2022年9月12日 下午11:01
下一篇 2022年9月14日 下午7:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注