本文介绍使用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. Flutter vs React Native vs Native:深度性能比较

    老孟导读:这是老孟翻译的付费文章,文章所有权归原作者所有. 欢迎加入老孟Flutter交流群,每周翻译2-3篇付费文章,精彩不容错过. 原文地址:https://medium.com/swlh/flu ...

  2. 致Spring Boot初学者

    1.引言 Spring Boot是近两年来火的一塌糊涂,来这里的每一位同学,之前应该大致上学习了web项目开发方面的知识,正在努力成长过程中.因为最近有不少人来向我“请教”,他们大都是一些刚入门的新手 ...

  3. 线下---复习day02

    目录 1 后续课程安排 2 作业讲解 3 python中的魔法方法 setattr,getattr,setitem,getitem演示 with 上下文管理器 eq 4 cookie,session, ...

  4. VS2019阅读源码 翻译注释插件

    VS翻译插件: Comment Translator China https://marketplace.visualstudio.com/items?itemName=netcorevip.Comm ...

  5. 对掌机游戏Pokemon的一部分系统的拆解流程图

    整体系统拆解 POKEMON系统拆解 属性.技能.进化形态 属性提升系统 种族值说明: 所有Pokemon都拥有自己的种族的种族值,且固定(例如:小火龙:309, 皮卡丘: 320) 种族值是各项属性 ...

  6. C#文件说明

    Bin -- 用来存放编译的结果,是默认的输出路径,项目属性—>配置属性—>输出路径. obj -- 用于存放编译过程中生成的中间临时文件.增量编译:项目属性—>配置属性—>高 ...

  7. 没错,用三方 Github 做授权登录就是这么简单!(OAuth2.0实战)

    本文收录在个人博客:www.chengxy-nds.top,技术资源共享. 上一篇<OAuth2.0 的四种授权方式>文末说过,后续要来一波OAuth2.0实战,耽误了几天今儿终于补上了. ...

  8. js&jsp规范问题

    1.js初始化问题    一般与数据库交互的需要进行初始化,固定控件一般不需要初始化.有些需要整体浏览器页面校准的可能需要初始化.    //初始化操作按钮        $(function(){  ...

  9. MYSQL JSON字段操作

    create CREATE TABLE t_test ( salary_data json NULL COMMENT 'JSON类型字段' ); -- insert INSERT INTO t_tes ...

  10. Web Scraping using Python Scrapy_BS4 - using Scrapy and Python(2)

    Scrapy Architecture Creating a Spider. Spiders are classes that you define that Scrapy uses to scrap ...