前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >虚拟化 | 冷备份?使用外置 USB 硬盘盒磁盘挂载到 ESXi VMWare 进行虚拟机备份

虚拟化 | 冷备份?使用外置 USB 硬盘盒磁盘挂载到 ESXi VMWare 进行虚拟机备份

作者头像
全栈工程师修炼指南
发布2023-11-20 17:54:44
1K1
发布2023-11-20 17:54:44
举报

如何将外部 USB 硬盘盒磁盘挂载到 ESXi VMWare 进行虚拟机冷备份?

描述: 由于业务需要将 ESXi 服务器中某一些虚拟机采用磁盘的方式进行冷备,然后删除原本的虚拟机为从的K8S集群环境做准备,此时准备一个USB硬盘盒以及一块4T希捷的NAS硬盘(某东八百多)如果是普通绿盘在五百左右,不得不说还是很便宜了。

通常在ESXi插上USB硬盘,都是映射给虚拟机使用,但是有些情况下我们需要提供给ESXi使用,所以直接扫描存储是无法扫描到USB硬盘的,需要做如下处理才能被识别,下面就简单看来说说操作吧,希望能帮助到需要做虚拟机传统冷备的朋友。

操作步骤:

Step 1.在ESXi或者vCenter中启动SSH服务,然后通过 SSH 连接到 ESXi 主机控制台 ;

Step 2.此时,不要插USB硬盘,接着停止 USB 仲裁器, 该服务用于 将 USB 设备从 ESXi 主机传递到虚拟机 (USB 直通)/etc/init.d/usbarbitrator stop,如果不希望 USB 仲裁器在主机重新启动后启动,请运行以下命令:chkconfig usbarbitrator off

Step 3.然后,插入USB硬盘,输入以下命令,可以看到有Is USB:true字样,表示USB设备已经识别出来。

代码语言:javascript
复制
$ esxcli storage core device list |grep -i usb
   Is USB: false
   Display Name: Local USB Direct-Access (t10.ST4000VN0062D3CW104______000000000000000000000000)
   Is USB: true
   Is USB: false
   Is USB: false

Step 4.输入ls /dev/disks/命令,会列出所有的disk,确认一下是否正确识别该设备名; 此处可以看到有个设备名为t10.ST4000VN0062D3CW104______000000000000000000000000,正是我们那一块4T硬盘的NAS硬盘。

代码语言:javascript
复制
# 方式1.
$ ls /dev/disks/ | grep "t10.ST4000VN0062D3CW104"
t10.ST4000VN0062D3CW104______000000000000000000000000

# 方式2.
$ fdisk -l | grep "t10.ST4000VN0062D3CW104"
fdisk: device has more than 2^32 sectors, can't use all of them
fdisk: device has more than 2^32 sectors, can't use all of them
Disk /dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000: 4294967295 sectors, 4095M

Step 5.将识别出的磁盘创建为GPT (GUID) 分区表,并查看相应的扇区以及磁盘簇信息。

代码语言:javascript
复制
# 创建 GPT (GUID) 分区表
partedUtil mklabel /dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000 gpt

# 获取扇区信息
partedUtil getptbl /dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000
gpt
486401 255 63 7814037168

Step 6.第一个扇区始终是 2048 最后一个扇区的大小是根据 getptbl 输出计算的,其计算方法如下:486401 * 255 * 63 -1 = 7814032064 或者使用 eval 表达式,例如。

代码语言:javascript
复制
eval expr $(partedUtil getptbl /dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1
# 7814032064

Step 7.使用 partedUtil 工具创建 VMFS 分区, VMFS数据存储分区的 GUID 始终为 AA31E02A400F11DB9590000C2911D1B8`),请注意后面的0是属性,不要更改。

代码语言:javascript
复制
partedUtil setptbl /dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000 gpt "1 2048 7814032064 AA31E02A400F11DB9590000C2911D1B8 0"
gpt
0 0 0 0
1 2048 7814032064 AA31E02A400F11DB9590000C2911D1B8 0

Step 8.使用 vmkfstools 工具挂载 vmfs6 格式的 USB 磁盘,请注意后面带有:1

代码语言:javascript
复制
mkfstools -C vmfs6 -S USB_Datastore /dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000:1
  # create fs deviceName:'/dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000:1', fsShortName:'vmfs6', fsName:'USB_Datastore'
  # deviceFullPath:/dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000:1 deviceFile:t10.ST4000VN0062D3CW104______000000000000000000000000:1
  # ATS on device /dev/disks/t10.ST4000VN0062D3CW104______000000000000000000000000:1: not supported
  # .
  # Checking if remote hosts are using this device as a valid file system. This may take a few seconds...
  # Creating vmfs6 file system on "t10.ST4000VN0062D3CW104______000000000000000000000000:1" with blockSize 1048576, unmapGranularity 1048576, unmapPriority default and volume label "USB_Datastore".
  # Successfully created new volume: 6556e219-b776d458-b97b-dc991413f938

温馨提示: -C vmfs6 表示使用 vmfs6 格式,如果在其它 esxi版本不支持 vmfs5 时可以改为 vmfs6 ,-S USB_Datastore 是存储的名字,可自行定义。

代码语言:javascript
复制
# 使用 df 命令查看文件系统格式,通常设置为已挂载的磁盘格式一致,例如下面的 VMFS-6 
$ df -h
Filesystem   Size   Used Available Use% Mounted on
NFS        196.8G  87.1G    109.7G  44% /vmfs/volumes/NFS-ISO
VMFS-6     550.2G 345.5G    204.8G  63% /vmfs/volumes/ds204
VMFS-6       4.4T   3.4T    934.2G  79% /vmfs/volumes/ds204_4T
VMFS-6       3.6T   1.5G      3.6T   0% /vmfs/volumes/USB_Datastore

Step 9.至此USB_Datastore就已经创建好了,从ESXi数据存储那里就可以看到多了一个USB_Datastore名称的存储。

weiyigeek.top-USB_Datastore名称的存储图

Step 10.在迁移拷贝虚拟机文件前,我先将注册到原ESXi中的虚拟机进行取消注册,然后再使用ESXi的网页或者ESXi的ssh进行对应虚拟主机拷贝。

weiyigeek.top-取消注册图

亲,文章就要看完了,不关注一下【全栈工程师修炼指南】吗?

Step 11.方式1是直接在ESXi网页平台上将虚拟机移动的新挂载的 USB_Datastore 存储中,即我们4T的硬盘,推荐方式。

weiyigeek.top-图形化操作图

Step 12.方式2是采用登录ESXi的SSH方式,通过shell命令cp或者mv将虚拟机目录拷贝或移动到新的冷备磁盘中。

weiyigeek.top-命令行操作图

Step 13.最后可通过ESXi或者vCENTER平台查看 USB_Datastore 存储设备的备份目录,备份情况。

weiyigeek.top-查看备份情况图

至此,外置磁盘冷备虚拟机实践完毕。

本文至此完毕,更多技术文章,尽情等待下篇好文!

原文地址: https://blog.weiyigeek.top

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈工程师修炼指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何将外部 USB 硬盘盒磁盘挂载到 ESXi VMWare 进行虚拟机冷备份?
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档