初始化云硬盘切换云主机挂载验证lvm跨主机可读

一、背景

云主机挂载一块32T的共享云硬盘测试LVM分区下,卸载后在其他云主机使用情况

二、过程验证

1、挂载后查看云硬盘

fdisk -l /dev/vde     //这是我新的云硬盘

在这里插入图片描述
分区形式默认设置为 GPT

2、建立磁盘分区

2.1、直接裸设备做文件系统

执行:mkfs -t <文件系统格式> /dev/vdb

2.2、建立分区后再做文件系统

因大于20T,这里用parted工具,没有进行安装yum install -y parted
parted /dev/vde
在这里插入图片描述
help mklable        //查看mklable命令的用法及支持的分区表
在这里插入图片描述
或:mkpart primary 0 16TB //创建一个分区

【补充】
也可直接输入mkpart不带任何参数----新建分区,按提示交互操作:
(parted) unit     //输入unit更改默认单位,如果不知道支持那些单位直接回车
Unit? [compact]?  //按两次Tab键,列出支持的单位,
Partition name? []? //分区的名字,可直接回车不给分区命名
File system type? [ext2]? //分区被格式化的文件系统,可以按两次Tab键查看支持的文件系统
在这里插入图片描述

File system type? [ext2]? ext4  //输入被格式化的文件系统为ext4
Start? 0% //开始位置,这里要输入0%或2048s或1M都可以
End? 1G   //结束位置,默认单位为compact,使用其他单位必须在数字后面加上单位
(parted) name     //输入name指令更改分区名
(parted) set     //输入set更改分区标记
Flag to Invert? lvm  //标记为lvm类型
New state? [on]/off? on //输入on回车表示打开
在这里插入图片描述
(parted) rm  //输入删除指令rm直接回车,后面加上分区号回车后就可直接删除分区
Partition number? 3 //输入要删除的分区号,定要慎重,一旦回车是不可退的。
(parted) resizepart  //输入调整分区的指令resizepart直接回车,如要增加容量,增加容量的分区后面必须得有可用的未分配的分区空间才可以
Partition number? 2       //输入要更改的分区
End? [2.00GB]? 10G  //扩容后这个分区的结束位置,需根据扩容前分区结束的位置和增加的容量来确定最终的分区位置

【直接命令式】
parted /dev/sdc mklabel gpt //直接创建GPT分区表
parted /dev/sdc unit GB print //在查看指令print前添加unit GB指令来以GB显示
parted /dev/sdc set 3 lvm   //为分区3添加lvm标记
parted /dev/sdc rm 3    //删除分区3
parted /dev/sdc unit GB print //查看分区的信息,以GB为单位显示

移动云存储初始化参考

3、为测试,将磁盘制作为lvm

在这里插入图片描述
1)制作PV和vg
在这里插入图片描述
2)制作lv:
lvcreate -L 1T -n lv-test hbeivideo
在这里插入图片描述

4、格式化lvm分区,创建文件系统

我们可使用mkfs.ext4或mke4fs命令使用ext4文件系统类型正确格式化新分区。

mke4fs命令所在rpm包是e4fsprogs,可执行yum install e4fsprogs* 安装;

mkfs -t ext4 /dev/hbeivideo/lv-test
mke4fs -t ext4 /dev/sdb1
mke4fs -L /卷标1 /dev/sdb1
在这里插入图片描述
在这里插入图片描述
从上图可了解,lv命名时不要用-,标识不清

如果在上述命令中没有加卷标的话,可执行如下命令填加:

e4label /dev/sdb1 卷标识1
e2abel /dev/sdb1 卷标识2 //使用e4label命令标记分区

tune4fs -l /dev/sdb1 //查看分区信息,用法与tune2fs一致

5、挂载使用

在这里插入图片描述

6.从云主机卸载云硬盘挂载到其他云主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到云硬盘挂载到新的云主机后,在新云主机里可以正常看到:
在这里插入图片描述
挂载使用,检查确认文件是否正常:
在这里插入图片描述
从上图可看到,文件可正常在新的云主机读取到。

三、附录:

1)磁盘格式化脚本

#!/bin/bash

#This shell is produced by EBS@cmss
#data: 2021-6-2
##need to yum install e4fsprogs、psmisc
export PATH=/usr/local/sbin/:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
clear
echo -e "\n\033[36mStep 1: Initializing script and check root privilege\033[0m"
if [ "$(id -u)" = "0" ];then
    echo -e "\033[33mIs running, please wait!\033[0m"
    yum -y install e4fsprogs > /dev/null 2>&1
    yum -y install psmisc > /dev/null 2>&1
    echo -e "\033[32mSuccess, the script is ready to run!\033[0m"
else
    echo -e "\033[31mError, this script must be run as root!\n\033[0m"
    exit 1
fi


echo -e "\n\033[36mStep 2: Show all active disks:\033[0m"
fdisk -l 2>/dev/null | grep -o "Disk /dev/.*" |grep -vE "sda|vda"
echo -e -n "\n\033[36mStep 3: Please choose the disk(e.g. /dev/sdb and q to quit):\033[0m"
read Disk
if [ $Disk == q ];then
    exit
fi

#analysis usr's input
until fdisk -l 2>/dev/null | grep -o "Disk /dev/.*" |grep -vE "sda|vda" | grep -w "Disk $Disk" &>/dev/null && [[ $Disk != "/dev" ]];do
#until fdisk -l 2>/dev/null | grep -o "Disk /dev/.*" | sed '1d' | grep -vE "root|swap" | grep -w "Disk $Disk" &>/dev/null;do
    echo -e -n "\033[31mError input, Please try again (e.g. /dev/sdb and q to quit):\033[0m"
    read Disk
    if [ "$Disk" == "q" ];then
        exit
    fi
done

while mount | grep $Disk > /dev/null 2>&1;do
    echo -e "\033[31m\nYour disk has been mounted:\033[0m"
    mount | grep "$Disk"
    echo -e -n "\033[31m\nForce umounting?[y/n]:\033[0m"
    read Umount
    until [ $Umount == y -o $Umount == n ];do
        echo -e -n "\033[31mError input, please try again [y/n]:\033[0m"
        read Umount
    done
    if [ $Umount == n ];then
        exit
    else
        echo -e "\033[33mIs running, please wait!\033[0m"
        #awk will be wrong with " ",replace it with ''
        for i in $(mount | grep "$Disk" | awk '{print $3}');do
            fuser -km $i >/dev/null
            umount $i >/dev/null
            #use '\' to recognize '/' is a path's symbol
            temp=$(echo $Disk | sed 's;/;\\\/;g')
            sed -i -e "/^$temp/d" /etc/fstab
            sleep 2
        done
        echo -e "\033[32mSuccessfully umount this disk!\033[0m"
    fi

    echo -e -n "\n\033[31mReady to begin to format the disk? [y/n]:\033[0m"
    read Choice
    until [ $Choice == y -o $Choice == n ];do
        echo -e -n "\033[31mError input, please try again [y/n]:\033[0m"
        read Choice
    done
    if [ $Choice == n ];then
        exit
    else
        echo -e "\033[33mIs running, Please wait!\033[0m"
        dd if=/dev/zero of=$Disk bs=512 count=1 &>/dev/null
        sleep 2
    sync
    fi
    echo -e "\033[32mThis disk had been formatted\033[0m"
done

echo -e "\n\033[36mStep 4: This disk is formatting\033[0m"
echo -e "\033[33mIs running, please wait!\033[0m"
fdisk_mkfs() {

echo y | mkfs.ext4 ${1}
}
fdisk_mkfs $Disk > /dev/null 2>&1
echo -e "\033[32mSuccess, the disk has been formatted!\033[0m"
echo -e "\n\033[36mStep 5: Make a directory and mount it\033[0m"
echo -e "\n\033[36mWarning:Files that previously existed in this directory will be hidden!\033[0m"
echo -e -n "\033[33mPlease enter a location to mount (e.g.: /mnt/data):\033[0m"
read Mount
    mkdir -p $Mount > /dev/null 2>&1
    mount ${Disk} $Mount
    echo -e "\033[32mSuccess, the mount is completed!\033[0m"
    echo -e "\n\033[36mStep 6: Write configuration to /etc/fstab and mount device\033[0m"
    echo ${Disk} $Mount 'ext4 defaults 0 0' >> /etc/fstab
    echo -e "\033[32mSuccess, the /etc/fstab is Write!\033[0m"
    echo -e "\n\033[36mStep 7: Show information about the file system on which each FILE resides\033[0m"
    df -h
    sleep 2
    echo -e "\n\033[36mStep 8: Show the write configuration to /etc/fstab\033[0m"
    cat /etc/fstab
LinuxVMDiskAutoInitialize.sh

脚本中会用到e4fsprogs、psmisc2个包。执行:yum install e4fsprogs、psmisc;其中

Psmisc软件包包含三个帮助管理/proc目录的程序。离线安装

fuser 显示使用指定文件或者文件系统的进程的PID。
killall 杀死某个名字的进程,它向运行指定命令的所有进程发出信号。
pstree 树型显示当前运行的进程

chmod -x LinuxVMDataDiskAutoInitialize.sh //脚本初始化完成后会显示出除了系统盘以外的盘符,如图一所示,忽略警告信息,根据提示输入需要格式化的盘符,如/dev/sdb。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羌俊恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值