UIS的两台虚拟机如何访问同一块磁盘文件,超融合的存储是用共享文件系统中的FC共享文件系统创建的存储
(0)
最佳答案
在CAS平台中,部分局点由于客户进行了数据库业务等应用集群的部署,存在多台虚拟机共同挂载使用两个QCOW2格式的磁盘文件,在运行了一段时间后,这些虚拟机突然无法正常启动进入操作系统,排查分析后,发现是所挂载使用的这两个QCOW2格式的磁盘文件损坏所导致的。
通常情况下,CAS平台是不建议多台虚拟机共用一个磁盘文件的,但部分局点由于客户业务需求,需要多台虚拟机共同挂载一个磁盘来进行数据文件的存放或应用集群的部署,这种情况下,必须由虚拟机内部的软件来保证数据的一致性,并使用预分配置零的RAW格式镜像文件或采用裸LUN方式,否则会导致数据丢失。
QCOW2的实现原理,决定了此种格式的磁盘不能由多个虚拟机同时挂载使用。当有这种需求时,必须满足如下部署条件,才能进行:
1. 使用virtio高速硬盘;
2. 使用RAW格式预分配置零文件,或者挂载存储上的裸LUN。如果使用RAW格式的文件时,注意要手工预先置零,可以采用dd方式进行。类似如下例子,将100G的镜像文件vm1.img置零(或者生成一个新的100G RAW格式的虚拟机镜像文件),其内容都变为零,并进行了预分配:
dd if=/dev/zero of=vm1.img bs=10M count=10000
注意:当vm1.img中有数据时,dd预分配置零会把vm1.img中的所有数据都抹掉,并写入零,vm1.img文件中原有的数据会丢失。预分配置零后,再给虚拟机添加镜像文件。
3. 虚拟机内部软件能够保障该磁盘在同一时刻只能被一台虚拟机使用。
在CAS平台中需要多台虚拟机共用一个磁盘文件时,有如下两种方法:
1.CVK主机挂载使用的是共享文件系统的情况下,把需要共用的磁盘的存储格式设置为高速(RAW)格式,在虚拟机内部的数据备份后,进行预分配置零处理。注意:预分配置零会清理文件原有的数据,请先备份数据后再进行预分配置零动作,以防数据丢失。
2.新分配一个预分配置零的RAW格式磁盘文件给虚拟机使用。
3.CVK主机通过ISCSI或FC网络存储的方式直接挂载裸LUN,并把该存储卷通过块设备的方式直接挂给虚拟机使用。
(0)
可以用裸块的方式挂载给两台虚拟机使用,可以参考《H3C CAS云计算平台部署Oracle RAC最佳实践手册》。
注意,这种方式需要虚拟机内部有共享文件系统保证数据安全,否则有写坏的风险。
(0)
暂无评论
你好,现在我这边尝试用挂载裸lun的方式给两台虚拟机挂载同一个磁盘文件,但虚机挂载后格式化完成后在A虚拟机上创建文件系统,B虚拟机上没看到有那个文件存在,这个是为什么啊?
(0)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论