最常使用的架构
- x86 [虚拟机、工控机等]
- tile [CCR系列]
- arm [CRS系列]
ESXI 通过 vmdk 安装
此安装方式只需要将 vmdk 文件导入到新建目录下,然后直接将此文件作为磁盘启动即可。唯一的缺点就是其默认存储空间非常小,通常在启动前需要先扩容下比较好。
厚置备延迟置零(zeroedthick,默认):立即分配空间,但只在首次写入时擦除数据。
厚置备置零(eagerzeroedthick):立即分配空间,立即擦除数据。
精简置备(thin):按需分配空间并擦除相应的数据,直至增长到所分配的最大容量。
vmkfstools -i chr-6.48.6.vmdk new-ros-livejq.vmdk
上面的命令等价于
vmkfstools -i chr-6.48.6.vmdk -d zeroedthick new-ros-livejq.vmdk
将源 vmdk 数据按照给定的磁盘格式克隆到目标文件上。
vmkfstools -X 10G new-ros-livejq.vmdk
最后将该目标文件容量增长到指定的大小。
执行过程
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/new-ros-livejq] ls -l
total 35840
-rw------- 1 root root 35848192 Jul 30 03:18 chr-6.48.6.vmdk
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/new-ros-livejq] vmkfstools -i chr-6.48.6.vmdk new-ros-livejq.vmdk
Destination disk format: VMFS zeroedthick
Cloning disk 'chr-6.48.6.vmdk'...
Clone: 100% done.
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/new-ros-livejq] vmkfstools -X 10G new-ros-livejq.vmdk
Grow: 100% done.
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/new-ros-livejq] ls -l
total 10521600
-rw------- 1 root root 35848192 Jul 30 03:18 chr-6.48.6.vmdk
-rw------- 1 root root 10737418240 Jul 30 03:21 new-ros-livejq-flat.vmdk
-rw------- 1 root root 499 Jul 30 03:21 new-ros-livejq.vmdk
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/new-ros-livejq] du -h ./*
35.0M ./chr-6.48.6.vmdk
10.0G ./new-ros-livejq-flat.vmdk
0 ./new-ros-livejq.vmdk
将在用的 vmdk 系统扩容
如果前面安装启动时并没有预先扩容,则往往会遇到 vmdk 形式的虚拟文件系统磁盘空间不够用的时候。此时会发现有两类文件,一个是普通的 vmdk,而另一个是同名但后面带有 flat 的 vmdk。后者其实是虚拟机实际存储数据的地方,文件通常比较大,而前者存储的是虚拟机元数据信息,它能链接到带 flat 的文件,所以我们操作这个 vmdk 就可以了。
扩容操作跟前面相同,只是需要先将 vmdk 转换成其它名字,然后通过克隆过程将虚拟机名称还原,作为转换的目标名称就可以了。扩容前最好先清除该虚拟机的快照。
执行过程
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/ros-livejq] ls
chr-6.48.6-s001.vmdk convert-ros-livejq-flat.vmdk ros-livejq-flat.vmdk ros-livejq.vmdk ros-livejq.vmx
chr-6.48.6.vmdk convert-ros-livejq.vmdk ros-livejq.nvram ros-livejq.vmsd ros-livejq.vmx.lck
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/ros-livejq] mv chr-6.48.6.vmdk chr-6.48.6.vmdk.bak
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/ros-livejq] vmkfstools -i chr-6.48.6.vmdk.bak chr-6.48.6.vmdk
Destination disk format: VMFS zeroedthick
Cloning disk 'chr-6.48.6.vmdk.bak'...
Clone: 100% done.
[root@localhost:/vmfs/volumes/6280e360-0b9d3028-4fda-f01fafd116e3/ros-livejq] vmkfstools -X 10G chr-6.48.6.vmdk
Grow: 100% done.
克隆报错
有时候会出现克隆出错的情况。
/vmfs/volumes/5f2e92c2-92f5dd44-24d5-008cfa0e9d2c/ISO/ROS # vmkfstools -i chr-6.48.3.vmdk.bak chr-6.48.3.vmdk
DiskLib_Check() failed for source disk Failed to lock the file (16392)
这是因为在创建快照的过程中意外中断,需要整合虚拟机磁盘。
如果整合磁盘成功,但是还提示“需要整合虚拟机磁盘”,可以尝试一下步骤解决:
- 选择对应虚拟机,右键选择->快照->整合磁盘。(一般都可以解决,未成功执行下一条)
- 如果整合报错,提示文件锁定:
新建快照,删除快照,再整合磁盘 (未成功执行下一条)
新建快照,整合磁盘,再删除快照(未成功执行下一条)
迁移虚拟机共享存储位置,整合磁盘,整合完成后再迁回来即可。
VPS通过DD命令安装RouterOS
这里以 CentOS 7 系统为例
需要注意,CHR最大硬盘空间为16G,所以即使安装位置磁盘分配空间超过16G,它也只能识别到16G。
[root@localhost ~]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a5035
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 62914559 30944256 8e Linux LVM
Disk /dev/mapper/centos-root: 29.5 GB, 29490151424 bytes, 57597952 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
wget --no-check-certificate http://www.mikrotik-software.de/downloads/chr-6.48.2.img.zip -O chr.img.zip && gunzip -c chr.img.zip > chr.img
[root@localhost ~]# dd if=chr.img bs=1024 of=/dev/sda
65536+0 records in
65536+0 records out
67108864 bytes (67 MB) copied, 3.40657 s, 19.7 MB/s
[root@localhost ~]# reboot
Connection closing...Socket close.
Connection closed by foreign host.
试过,无法使用此方法安装 7.x 版本。
以上安装总结成一条命令(重启后需要通过VNC或IPMI等带外管理配置网络)
VMware虚拟化
yum install -y wget && wget --no-check-certificate http://www.mikrotik-software.de/downloads/chr-6.48.2.img.zip -O chr.img.zip && gunzip -c chr.img.zip > chr.img && dd if=chr.img bs=1024 of=/dev/sda
最后重启系统生效。
安装后无法加载系统
SeaBI0s (version 1.11.o-2.e17)
Machine UU1D 5b45ofa7-125f-4f83-abc1-4c3567deaec6
iPXE(http://ip×e.org)66:63.6 C986 PC12.16 PnP FMM+BFF94566+BFED4566 c986
iFXE(http://ipxe.org)oo:64.0 CA8o PC12.1o PnP FMM BFF9456o BFED456o CA8o
Booting from Hard Disk,
Loadiny system with initrd
Initramfs unpacking failcd: XZ-comprcsscd data is corrupt
Kernel panic- not syncing: No init found.Try passing init= option to kernel
Scc Linux Documentation/init.txt for guidance
Rebooting in 1 seconds.
这类错误多半是下载的镜像有问题,可以尝试换个下载地址或者降级系统版本亦或者换个系统,这里我通过降级版本安装成功了。
这里一样总结成一条命令(重启后需要通过VNC或IPMI等带外管理配置网络)
KVM虚拟化
yum install -y wget && wget http://www.mikrotik-software.de/downloads/chr-6.44.6.img.zip -O chr.img.zip && gunzip -c chr.img.zip > chr.img && dd if=chr.img bs=1024 of=/dev/vda
或者较新版本(跟上面二选一)
yum install -y wget && wget https://www.mikrotik-software.de/downloads/chr-6.49.1.img.zip -O chr.img.zip && gunzip -c chr.img.zip > chr.img && dd if=chr.img bs=1024 of=/dev/vda
注意:我这里刷入
/dev/vda
,你的不一定一样,可以通过fdisk -l
查看。
最后重启系统生效。
网络预配置无需带外管理
需要注意的是,若主机没有带外管理,则需要预配置网络,否则重启后无法连接。
- 准备镜像
yum install -y wget && wget http://www.mikrotik-software.de/downloads/chr-6.44.6.img.zip -O chr.img.zip && gunzip -c chr.img.zip > chr.img
或者较新版本(跟上面二选一)
yum install -y wget && wget https://www.mikrotik-software.de/downloads/chr-6.49.1.img.zip -O chr.img.zip && gunzip -c chr.img.zip > chr.img
- 挂载镜像
mount -o loop,offset=512 chr.img /mnt
fdisk -l chr.img 可以查看分区起始位置,偏移量(offset)=起始位置(start)x 扇区大小(Sector size)
- 写入配置命令
echo "/ip address add address=你的IP地址带掩码 interface=ether1" >/mnt/rw/autorun.scr && echo "/ip route add gateway=网关" >>/mnt/rw/autorun.scr
这里需要注意网卡名,如果只有一张网卡可以直接填ether1,多张网卡就看你公网配第几张网卡上,第二张是ether2,以此类推。
- 卸载并刷入系统(注意你的系统盘路径)
umount /mnt && dd if=chr.img bs=1024 of=/dev/vda
最后重启生效。
PVE 通过 vmdk 安装
请跳转到本站另一篇 Proxmox VE 导入 vmdk 系统
PVE 安装 L5 开心版
现将 vmdk、mf、ovf 这三个文件上传到 local 存储的 ISO 目录下,然后打开 Shell 控制台。
cd /var/lib/vz/template/iso
qm importovf 101 MikroTik-RouterOS-L5.ovf local --format qcow2
local 可以改成其他有空闲的位置,例如:local-zfs等。
然后编辑虚拟机配置文件
nano /etc/pve/qemu-server/101.conf
在ide0: local-zfs:vm-101-disk-0
后面添加(无空格)
,model=VMware%20Virtual%20IDE%20Hard%20Drive,serial=00000000000000000001
完成后的样子
boot: order=ide0
cores: 2
ide0: local-zfs:vm-101-disk-0,model=VMware%20Virtual%20IDE%20Hard%20Drive,serial=00000000000000000001
memory: 1024
name: MikroTikRouterOSL5
smbios1: uuid=0b6874fb-3516-4b3b-ba4e-f17b0f04502e
vmgenid: 93dc3f90-3b1a-4046-85c6-6f6cdad97c88
最后再添加下网卡就可以启动了。
评论区