Beispiel #1
0
    def delete_mount_info_from_fstab(self, lv_name):
        lv_vg = self.get_lv_vg(lv_name)['lv_vg']
        cmd = "sed -i '/\/dev\/mapper\/{0}-{1}/d' /etc/fstab".format(
            lv_vg, lv_name)
        proc = ShellCmd.execute_cmd(cmd)
        delete_mount_info_from_fstab = 0

        if not proc.returncode:
            delete_mount_info_from_fstab = 1

        return {'delete_mount_info_from_fstab': delete_mount_info_from_fstab}
Beispiel #2
0
    def write_mount_info_to_fstab(self, lv_name, directory):
        lv_vg = self.get_lv_vg(lv_name)['lv_vg']
        mount_info = "/dev/mapper/{0}-{1} {2} ext3 defaults 0 0".\
            format(lv_vg, lv_name, directory)
        cmd = 'echo {0} >> /etc/fstab'.format(mount_info)
        proc = ShellCmd.execute_cmd(cmd)
        write_mount_dir_to_fstab = 0

        if not proc.returncode:
            write_mount_dir_to_fstab = 1

        return {'write_mount_dir_to_fstab': write_mount_dir_to_fstab}
Beispiel #3
0
    def mount_other_dir(self, lv_name, directory):
        lv_vg = self.get_lv_vg(lv_name)['lv_vg']
        lv_path = '/dev/{0}/{1}'.format(lv_vg, lv_name)
        cmd = 'umount {0} && mkdir -p {1} && mount {0} {1}'.\
            format(lv_path, directory)
        proc = ShellCmd.execute_cmd(cmd)
        lv_mount_dir = 0

        if not proc.returncode:
            lv_mount_dir = 1

        return {'lv_mount_dir': lv_mount_dir}
Beispiel #4
0
    def expand_fs(self, lv_name):
        """
            扩展文件系统,需要耗费一些时间,
            使用异步的方式处理。
        """
        lv_vg = self.get_lv_vg(lv_name)['lv_vg']
        lv_path = '/dev/{0}/{1}'.format(lv_vg, lv_name)
        resize_2_fs = 0
        cmd = 'resize2fs {0}'.format(lv_path)
        proc = ShellCmd.execute_cmd(cmd)

        if not proc.returncode:
            resize_2_fs = 1

        return {'resize_2_fs': resize_2_fs}
Beispiel #5
0
    def migrate_data_and_make_link(self, lv_name, data_source):
        """
            迁移大数据量的数据,需要花费很长的时间;
            这里采用异步的方式处理。
        """
        mount_dir = self.lv_vg_capacity_usedcapacity_dir(lv_name)['mount_dir']

        migrate_data_make_link = 0

        if mount_dir:
            cmd = 'mv -f {0} {1}/ && ln -s {1}/elasticsearch {0}'.\
                format(data_source, mount_dir)
            proc = ShellCmd.execute_cmd(cmd)

            if not proc.returncode:
                migrate_data_make_link = 1

        return {'migrate_data_make_link': migrate_data_make_link}
Beispiel #6
0
    def lv_mount_dir(self, lv_name, directory):
        """
            对逻辑卷进行格式化操作,非常耗时;逻辑卷容量越大,
            需要的时间越长。
            此处,采用异步的方式处理。
        """
        lv_vg = self.get_lv_vg(lv_name)['lv_vg']
        lv_path = '/dev/{0}/{1}'.format(lv_vg, lv_name)

        cmd = "mkfs -t ext3 {0} && " \
              "mkdir -p {1} && " \
              "mount {0} {1}".format(lv_path, directory)
        proc = ShellCmd.execute_cmd(cmd)
        lv_mount_dir = 0

        if not proc.returncode:
            lv_mount_dir = 1

        return {'lv_mount_dir': lv_mount_dir}