TDH 5.x / TDH 6.x数据盘挂载原理

  其他常见问题
内容纲要

概要描述


本文主要讲述TDH5.X和TDH6.X的数据盘挂载原理,及数据写入。

详细说明


1、操作视角

1.在配置中使用数据盘配置的推荐值,或手工设定配置,为了举例,我们假设数据盘在Manager页面上的设定值为

/mnt/disk1/hadoop/data,/mnt/disk2/hadoop/data,/mnt/disk3/hadoop/data

2.Manager在写入配置文件时,后台会为每一个目录加一个/vdir前缀,如上例的设定值在配置文件中会被转换为

/vdir/mnt/disk1/hadoop/data,/vdir/mnt/disk2/hadoop/data,/vdir/mnt/disk3/hadoop/data

在配置这一步,还会建立bind mount,将/transwarp/mounts/${sid}/${datadir}挂载到${datadir},例如为hdfs1的/mnt/disk1/hadoop/data这个目录,会执行以下操作:

mount --bind /mnt/disk1/hadoop/data /transwarp/mounts/hdfs1/mnt/disk1/hadoop/data

并保证/etc/fstab里面有如下行

/mnt/disk1/hadoop/data /transwarp/mounts/hdfs1/mnt/disk1/hadoop/data    none    bind    0    0

3.在容器启动后,会将容器中的/vdir挂载到容器外的/transwarp/mounts/${sid}目录

2、数据视角

1.容器内的进程看到的配置是带/vdir的,例如容器里的/vdir/mnt/disk1/hadoop/data,因此从容器里看数据被写到这些目录

2.容器中的/vdir挂载到容器外的/transwarp/mounts/${sid}目录,因此上例中,在HDFS的容器内向/vdir/mnt/disk1/hadoop/data写数据,是写到了主机的/transwarp/mounts/hdfs1/mnt/disk1/hadoop/data

3.由于建立了bind mount

mount –bind /mnt/disk1/hadoop/data /transwarp/mounts/hdfs1/mnt/disk1/hadoop/data

向主机的/transwarp/mounts/hdfs1/mnt/disk1/hadoop/data写数据最终写入了/mnt/disk1/hadoop/data

3、注意事项

当服务的数据盘损坏、重新挂载后,应确保bind mount的重新正确建立。如果bind mount建立不正确,会导致容器里写的数据实际写入了主机的根分区。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。