本文介绍使用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. 113资讯网:安装程序进入Admin后台出现:SQLSTATE[HY000] [1045] Access denied for user'root'@'localhost' (using password: YES)

    各项设置设置正确,就是出现这种原因! 1.config.inc.php解决办法: 修改phpMyAdmin的配置文件里的密码设置,进入phpMyAdmin的安装目录,找到config.inc.php配 ...

  2. 手写SpringMVC框架(一)-------项目搭建

    SpringMVC处理请求的大致流程: 我们来开始着手手写一个SpringMVC框架. 新建一个springMVC项目,流程参见 SpringMVC框架搭建流程 引入servlet相关的jar包: & ...

  3. (私人收藏)python学习(游戏、爬虫、排序、练习题、错误总结)

    python学习(游戏.爬虫.排序.练习题.错误总结) https://pan.baidu.com/s/1dPzSoZdULHElKvb57kuKSgl7bz python100经典练习题python ...

  4. java语言基础(九)_final_权限_内部类

    final关键字 final关键字代表最终.不可改变的. 常见四种用法: 可以用来修饰一个类 可以用来修饰一个方法 还可以用来修饰一个局部变量 还可以用来修饰一个成员变量 1)修饰一个类 public ...

  5. 《MapReduce: Simplified Data Processing on Large Clusters》论文研读

    MapReduce 论文研读 说明:本文为论文 <MapReduce: Simplified Data Processing on Large Clusters> 的个人理解,难免有理解不 ...

  6. C++中vector和堆的常用使用方法&例题:数据流中的中位数

    vector常用函数: (1)a.size();//返回a中元素的个数: (2)a.push_back(5);//在a的最后一个向量后插入一个元素,其值为5 (3)a[i]; //返回a的第i个元素, ...

  7. 【线型DP模板】最上上升子序列(LIS),最长公共子序列(LCS),最长公共上升子序列(LCIS)

    BEGIN LIS: 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的.对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序 ...

  8. java 面向对象(二十六):枚举类的使用

    1. 枚举类的说明:* 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类* 2.当需要定义一组常量时,强烈建议使用枚举类* 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. ...

  9. tf.nn.conv2d函数和tf.nn.max_pool函数介绍

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 介绍参数: input:指卷积需要输入的 ...

  10. Docker搭建部署Node项目

    前段时间做了个node全栈项目,服务端技术栈是 nginx + koa + postgresql.其中在centos上搭建环境和部署都挺费周折,部署测试服务器,接着上线的时候又部署生产环境服务器.这中 ...