本文介绍使用VMware虚拟化平台部署OpenWrt/HomeLede,并扩容固件硬盘的方法。

推荐使用虚拟化方式部署软路由,理由如下:

  • 部署、升级、回退、扩容等操作非常方便,特别适合折腾
  • 可以方便的调整网络结构(个人不建议直通,直通可能会带来的一点性能优势,但丧失了灵活性)

本文使用的软件情况:

开始前,请确认:

  • 虚拟化平台工作正常
  • Internet线路正常
  • 获取了HomeLede固件

操作步骤:

  • 使用VMware Workstation在本地创建虚拟机,部署HomeLede(并完成配置,本文中略)
  • 上传至Esxi启动

这样操作的优势:

  • 相比于使用Esxi的基于Web浏览器的管理界面,WMware Workstation是Windows本地应用,不仅操作体验方便,还可以进行可以一些Esxi无法完成的操作(比如编辑虚拟磁盘)。
  • 无需转换固件vmdk格式,VMware Workstation会自动处理
  • 本地测试路由运行没问题后再上传到Esxi,相比于直接在Esxi上操作安全很多

操作详述


1 创建虚拟机


2 选择HomeLede的ESXI格式固件作为虚拟机硬盘。(建议提前创建好虚拟机保存位置,将HomeLede固件拷贝进去)

  

注意:这里会提示转换虚拟磁盘格式,选择“转换”即可。

在向导最后一页,打开“自定义硬件”,为虚拟机添加第二块网卡(默认会添加一块,对应于HomeLede内部的eth0,也就是LAN,再增加一块,对应于eth1,也就是WAN)。 为了测试方便:

  • 这里第一块网卡选择了“仅主机模式”,默认对应于VMware Workstation在系统中创建的VMNet1。用于模拟HomeLede的LAN。
  • 第二块网卡选择“桥接”模式,相当于使这台虚拟机直接连入家庭网络。用于模拟HomeLede的WAN(可以直接利用家庭网络上网)。


3 扩充硬盘

点击“编辑虚拟机”设置。

选择“硬盘”,点击“扩展”,在弹出框内输入容量,最后点击“扩展”。


4 启动HomeLede虚拟机,进行磁盘分区及格式化

点击“开启此虚拟机”,等待HomeLede引导完毕。

在命令行界面,执行硬盘分区操作。 固件默认磁盘(Linux下第一块磁盘标记为/dev/sda)有两个分区,刚才执行了扩充操作,在现有两个分区后面扩展了60G容量,现在要把这新扩充的部分做成一个新的分区。 执行命令fdisk /dev/sda,表示开始对第一块硬盘进行分区。

依次输入:

  • n (表示新建分区)回车
  • p (创建一个新的主分区)回车
  • 3 (创建第三分区,固件内置分区分别为/dev/sda1、/dev/sda2,现在要将扩充的容量创建为第三分区,也就是/dev/sda3)回车
  • w (将新创建的分区写入磁盘分区表)回车

接下来,对新创建的分区进行格式化。

输入mkfs.ext4 /dev/sda3,将新创建的分区格式化为ext4格式。

最后,重启路由。

重启后可以进行一些在本地的换固件的准备工作。

比如:

  • 临时修改固件WAN的IP(如果默认IP和你家庭网络路由冲突的话),打开图形界面完成一些配置。
  • 上传一些备份的配置文件(dhcp、ddns、firewall、psw等等)
  • 测试固件中分流软件是否运作正常
  • 将安装软件路径、docker,某些需要记录日志的路径指向新增加的大容量分区。
  • 全部完成后,如果临时修改过路由ip,记得改回来
  • 关闭虚拟机

5 上传至ESXI

按Ctrl+L调出连接服务器窗口。或者在从菜单中寻找“WorkStation”->“文件”->“连接服务器”。 输入Esxi服务器 IP,用户及密码。

随后,上传HomeLede虚拟机到Esxi服务器。

选择已经连接的服务器。

 

至此,HomeLede虚拟机已经成功上传至Esxi,接下来在Esxi上配置一下网络,即可启动。

使用Esxi虚拟化部署OpenWrt/HomeLede+扩容硬盘 保姆级教程的更多相关文章

  1. Eclipse for C/C++ 开发环境部署保姆级教程

    Eclipse for C/C++ 开发环境部署保姆级教程 工欲善其事,必先利其器. 对开发人员来说,顺手的开发工具必定事半功倍.自学编程的小白不知道该选择那个开发工具,Eclipse作为一个功能强大 ...

  2. 【k8s】在AWS EKS部署并通过ALB访问k8s Dashboard保姆级教程

    本教程适用范围 在AWS上使用EKS服务部署k8s Dashboard,并通过ALB访问 EKS集群计算节点采用托管EC2,并使用启动模板. 使用AWS海外账号,us-west-2区域 使用账号默认v ...

  3. VMware vSphere6.0 服务器虚拟化部署安装图解

    一 VMware vSphere部署的前期规划要点 1 vSphere的优点 (略) 2 如何利用现在的设备架构虚拟化环境 在虚拟化过程中,用户大多会考虑目前现有的服务器.存储.交换机等基础设备是否可 ...

  4. VMware vSphere6.0 服务器虚拟化部署安装图解(最全,最详细)-搭建的所有步骤

    VMware vSphere6.0 服务器虚拟化部署安装图解 一 .VMware vSphere部署的前期规划要点 1.vSphere的优点 (略) 2如何利用现在的设备架构虚拟化环境 在虚拟化过程中 ...

  5. linux硬盘挂载-新硬盘挂载和扩容硬盘挂载

    这里对当前我实际操作后的两种硬盘挂载进行整理: 第1种是直接添加一块新硬盘,然后进行挂载. 第2种是对硬盘进行扩容后,对扩容后的空间进行分区再进行挂载. [内容为参考网上资料,再加自已实际操作情况进行 ...

  6. DIY ESXI虚拟化服务器再度升级ESXI6.0 (U盘安装Esxi)

    前期我写了一个篇关于<IT屌丝DIY ESXI虚拟化服务器记实 >链接地址:http://lidongni.blog.51cto.com/2554605/1643996,这次主要是在原有的 ...

  7. -Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容

    ylbtech-Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容 1.返回顶部 1. Java 实例 - 数组扩容  Java 实例 以下实例演示了如何在数组初始化后 ...

  8. Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程

    Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程 二 18 奶牛 Linux, Ubuntu, Windows 1,885 views查看评论 最近奶牛一直在折腾linux下的gru ...

  9. 虚拟化之vmware虚拟机扩容与克隆

    前提条件: 1.在新建虚拟机的时候创建磁盘如下图,之后这个磁盘就可以在虚拟机关机状态下动态扩展大小,否则只能通过添加另外一块硬盘的方式来扩容.

随机推荐

  1. windows10 通过vnc远程访问ubuntu16.04

    参考链接 链接1 , 链接2 ,链接3 . 0.前言: 为方便深度学习训练,我们需要多个windows的电脑可以远程访问一个linux系统的工作站(以方便在linux系统上进行深度学习训练) 前提: ...

  2. 利用搭载好的工控机环境跑yolov3-tiny

    辛辛苦苦搭载好GPU环境现在要开始测试下效果 1,准备好数据集 2,测试开始 (1),如果尚未安装Darknet,则应先进行安装 git clone https://github.com/pjredd ...

  3. 升降梯上——玄学dp

    升降梯上 题目描述 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨大手柄. \(Nescafe ...

  4. Activity启动流程分析

    我们来看一下 startActivity 过程的具体流程.在手机桌面应用中点击某一个 icon 之后,实际上最终就是通过 startActivity 去打开某一个 Activity 页面.我们知道 A ...

  5. __FILE__和__DIR__的用法

    dirname(__FILE__)由两部分组成, __FILE__ 魔术变量和 dirname() 函数.__FILE__是当前脚本的绝对路径,通过 dirname() 函数后,就可以获得脚本所在目录 ...

  6. 不会用Java Future,我怀疑你泡茶没我快, 又是超长图文!!

    你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough ...

  7. 从 (a==1&&a==2&&a==3) 成立中看javascript的隐式类型转换

    下面代码中 a 在什么情况下会打印 1? var a = ?; if(a == 1 && a == 2 && a == 3){ console.log(1); } 这个 ...

  8. Scala 面向对象(六):面向对象的特征二:继承 (一)

    1 Scala继承的基本语法 class 子类名 extends 父类名 { 类体 } class Person { var name : String = _ var age : Int = _ d ...

  9. 数据可视化实例(十二): 发散型条形图 (matplotlib,pandas)

    https://datawhalechina.github.io/pms50/#/chapter10/chapter10 如果您想根据单个指标查看项目的变化情况,并可视化此差异的顺序和数量,那么散型条 ...

  10. 创建MongoDB副本集教程

    今天有时间搞了一下mongoDB的副本集,遇到好多坑,写下此文,方便日后查阅! 本教程是在windows环境下安装测试的(我是本机一台 + 两台虚拟机) 本机:10.53.8.159 虚拟机一:10. ...