标签 debian 下的文章

在单IP的 proxmox 机子上创建 NAT 共享上网的 Windows 10 客户机

用较高配置的机子,安装 proxmox 来提供 kvm 虚拟化环境,创建包括Windows在内的客户虚拟机,是挺方便的。

本例是在已有的Debian9环境里,安装proxmox5,创建Windows10客户机。

过程:

1.vi /etc/hosts # 检查本机主机名是否与本机IP绑定好,如本例 144.172.126.32 drs2.anqun.org drs2,即drs2指向144.172.126.32
proxmox-debian-1.png

2.echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list # 添加 proxmox 安装源

3.wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg # 添加 proxmox 安装源的验证匙

4.echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 # 如果本机IPv6无法访问外网,可临时禁用IPv6

5.apt update && apt dist-upgrade # 更新软件安装源和升级系统

6.apt install proxmox-ve postfix open-iscsi # 安装 proxmox,这步耗时久些

7.reboot # 重启系统

8.浏览器访问https://ip-地址:8006,登录到proxmox管理台,如本例 https://drs2.anqun.org:8006,输入系统root用户及密码
proxmox-debian-2.png

9.先创建Linux Bridge的网络,等会创建虚拟机要用到
proxmox-debian-3.png

10.Linux Bridge vmbr0 的IP设置为10.10.10.1,掩码是255.255.255.0
proxmox-debian-4.png

11.开始创建虚拟机
proxmox-debian-5.png

12.Guest OS,客户机选择微软的Windows 10/Windows 2016
proxmox-debian-6.png

13.硬盘,本例是选择了 VirtIO Block,100 GB,RAW硬盘映像
proxmox-debian-7.png

14.CPU,本例是选择了四核心
proxmox-debian-8.png

15.内存,本例分配了8 GB
proxmox-debian-9.png

16.网络,本例选择了桥接的vmbr0,模型为 VirtIO
proxmox-debian-10.png

17.确认创建
proxmox-debian-11.png

18.启动机子后,可以打开 noVNC 控制台
proxmox-debian-12.png

19.echo 1 > /proc/sys/net/ipv4/ip_forward # 启用IPv4转发

20.iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eth0 -j MASQUERADE # 通过iptables,让位于10.10.10.0内网的客户机,经NAT访问互联网。其中eth0是proxmox里配置有公网IP的网卡名称

21.iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 43389 -j DNAT --to 10.10.10.2:3389 # 通过iptables,将公网43389端口转发到客户机10.10.10.2的3389,用于远程桌面连接

22.在客户机上安装好Windows10,开启远程桌面功能。从外网,用tcp 43389的端口进行远程桌面连接,成功
proxmox-debian-13.png

参考:

在 Debian Linux 里“压缩卷” - shrink partion

环境:Debian 9,例子中,将阿里云ECS云服务器默认的系统盘,40GB的/dev/vda1,划成30GB的/dev/vda1和10GB的/dev/vda2。

过程:

  1. df -h # 查看当前的磁盘使用情况,/dev/vda1 是40GB
    resize-2.png
  2. on-line shrinking not supported # 尝试直接运行resize2fs来压缩,提示错误,不允许对正在使用的分区进行压缩操作
    resize-3.png
  3. vi /etc/initramfs-tools/hooks/resizefs # 创建好脚本,复制好resize2fs

    #!/bin/sh
    
    set -e
    
    PREREQS=""
    
    prereqs() { echo "$PREREQS"; }
    
    case $1 in
     prereqs)
         prereqs
         exit 0
     ;;
    esac
    
    . /usr/share/initramfs-tools/hook-functions
    
    copy_exec /sbin/e2fsck
    copy_exec /sbin/resize2fs
    
    exit 0
  4. chmod +x /etc/initramfs-tools/hooks/resizefs # 添加执行权限
  5. vi /etc/initramfs-tools/scripts/local-premount/resizefs # 创建好脚本,在挂载/前进行resize2fs操作

    #!/bin/sh
    
    set -e
    
    PREREQS=""
    
    prereqs() { echo "$PREREQS"; }
    
    case "$1" in
     prereqs)
         prereqs
         exit 0
     ;;
    esac
    
    /sbin/e2fsck -yf /dev/vda1
    /sbin/resize2fs /dev/vda1 30G
    /sbin/e2fsck -yf /dev/vda1
  6. chmod +x /etc/initramfs-tools/scripts/local-premount/resizefs # 添加执行权限
    resize-4.png
  7. update-initramfs -u -v # 更新系统引导
    resize-5.png
  8. 重启系统后用 df 查看磁盘使用情况
    resize-6.png
  9. fdisk /dev/vda # 用fdisk删除vda1分区,再新建30GB的vda1分区和10GB容量的vda2分区
    resize-7.png
  10. rm /etc/initramfs-tools/hooks/resizefs /etc/initramfs-tools/scripts/local-premount/resizefs # 删除之前的启动脚本
  11. update-initramfs -u -v # 更新系统引导
  12. 重启系统后,用 fdisk -l 查看,可以看到相应的分区和容量信息
    resize-8.png

参考:https://serverfault.com/questions/528075/is-it-possible-to-on-line-shrink-a-ext4-volume-with-lvm