
# 创建并挂载文件系统
#### 操作场景
在创建完逻辑卷之后，需要在逻辑卷之上创建文件系统并挂载文件系统到相应目录下。本章节指导您在逻辑卷之上创建"ext4"文件系统并挂载文件系统到"/Data1"目录下。
 #### 操作步骤
1. 使用root用户登录云服务器。 
   登录弹性云服务器请参见[登录弹性云服务器](https://support.huaweicloud.com/ecs_faq/ecs_faq_0632.html)。
   
   
2. 执行如下命令，创建文件系统。
   
   **mkfs.** *文件格式* *逻辑卷路径*
   命令示例:
   **mkfs.ext4 /dev/vgdata/lvdata1**
   回显类似如下信息：
   ```
   [root@ecs-lvmtest ~]# mkfs.ext4 /dev/vgdata/lvdata1
   mke2fs 1.42.9 (28-Dec-2013)
   Filesystem label=
   OS type: Linux
   Block size=4096 (log=2)
   Fragment size=4096 (log=2)
   Stride=0 blocks, Stripe width=0 blocks
   983040 inodes, 3932160 blocks
   196608 blocks (5.00%) reserved for the super user
   First data block=0
   Maximum filesystem blocks=2151677952
   120 block groups
   32768 blocks per group, 32768 fragments per group
   8192 inodes per group
   Superblock backups stored on blocks:
           32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
   Allocating group tables: done
   Writing inode tables: done
   Creating journal (32768 blocks): done
   Writing superblocks and filesystem accounting information: done
   ```
   
   
3. 执行如下命令，创建挂载目录。
   
   **mkdir** *挂载目录*
   命令示例:
   **mkdir /Data1**
   
   
4. 执行如下命令，将文件系统挂载到目录下。 
   **mount** *逻辑卷路径* *挂载目录*
   命令示例：
   **mount** **/dev/vgdata/lvdata1 /Data1**
   
   
5. 执行如下命令，查询文件系统挂载信息。 
   **mount \| grep** *挂载目录*
   命令示例：
   **mount \| grep** **/Data1**
   回显类似如下信息：
   ```
   [root@ecs-lvmtest ~]# mount | grep /Data1
   /dev/mapper/vgdata-lvdata1 on /Data1 type ext4 (rw,relatime,data=ordered)
   ```
   "dev/mapper/vgdata-lvdata1"为文件系统路径，记录此路径，[步骤6]中需要使用此路径。
   
   
6. 使用磁盘分区的UUID来设置开机自动挂载文件系统。
   
   UUID（universally unique identifier）是Linux系统为磁盘分区提供的唯一的标识字符串。重启后，挂载会失效，因此需要设置开机自动挂载磁盘分区，即在/etc/fstab文件中添加新建磁盘分区信息，启动开机自动挂载磁盘分区。
   ![](https://support.huaweicloud.com/bestpractice-evs/public_sys-resources/caution_3.0-zh-cn.png)
   - 如果逻辑卷基于分区创建，设置自动挂载之后分区被误删除，云服务器重启会失败。
   
   - 如果逻辑卷基于分区创建，但是没有设置自动挂载，分区被误删除时LVM存在的残留文件，您可以[重新创建分区并清理残留文件]。
    
   1. 执行如下命令，查询文件系统的UUID。
      **blkid** *文件系统路径*
      以查询"dev/mapper/vgdata-lvdata1"的UUID为例：
      **blkid /dev/mapper/vgdata-lvdata1**
      回显类似如下信息：
      ```
      [root@ecs-lvmtest ~]# blkid /dev/mapper/vgdata-lvdata1
      /dev/mapper/vgdata-lvdata1: UUID="c6a243ce-5150-41ac-8816-39db54d1a4b8" TYPE="ext4"
      ```
      UUID为"c6a243ce-5150-41ac-8816-39db54d1a4b8"。
      
   
   2. 执行以下命令，打开"/etc/fstab"文件。 **vi /etc/fstab**
      回显类似如下信息：
      ```
      [root@ecs-lvmtest ~]# vi /etc/fstab
      #
      # /etc/fstab
      # Created by anaconda on Tue Nov  7 14:28:26 2017
      #
      # Accessible filesystems, by reference, are maintained under '/dev/disk'
      # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      #
      UUID=27f9be47-838b-4155-b20b-e4c5e013cdf3 /                       ext4    defaults        1 1
      UUID=2b2000b1-f926-4b6b-ade8-695ee244a901 /boot                   ext4    defaults        1 2
      ```
      
   
   3. 按"i"进入编辑模式。
   
   4. 将光标移至文件末尾，按"Enter"，添加如下内容。
      ```
      UUID=c6a243ce-5150-41ac-8816-39db54d1a4b8 /Data1                  ext4    defaults        0 0
      ```
      内容说明如下：
      - 第一列：UUID，此处填写[1]查询的UUID；
      
      - 第二列：文件系统的挂载目录，此处填写[步骤3]创建的挂载目录"/Data1"；
      
      - 第三列：文件系统的文件格式，此处填写[步骤2]设置的文件格式"ext4";
      
      - 第四列：挂载选项，此处以"defaults"为例；
      
      - 第五列：备份选项，设置为"1"时，系统自动对该文件系统进行备份；设置为"0"时，不进行备份。此处以"0"为例；
      
      - 第六列：扫描选项，设置为"1"时，系统在启动时自动对该文件系统进行扫描；设置为"0"时，不进行扫描。此处以"0"为例。
       
   
   5. 按"Esc"，输入":wq!"，并按"Enter"。 保存设置并退出vi编辑器。
      
    
   
   
7. 执行以下步骤，验证自动挂载功能。 
   1. 执行如下命令，卸载文件系统。 **umount** *逻辑卷路径*
      命令示例：
      **umount /dev/vgdata/lvdata1**
      
   
   2. 执行如下命令，将/etc/fstab文件所有内容重新加载。 **mount -a**
      
   
   3. 执行如下命令，查询文件系统挂载信息。 **mount \| grep** *挂载目录*
      命令示例：
      **mount \| grep** **/Data1**
      回显类似如下信息，说明自动挂载功能生效：
      ```
      [root@ecs-lvmtest ~]# mount | grep /Data1
      /dev/mapper/vgdata-lvdata1 on /Data1 type ext4 (rw,relatime,data=ordered)
      ```
      
   
   
   
   
 
 #### 常见问题
逻辑卷分区被删除如何清理LVM残留？
如果逻辑卷是基于分区创建的，出现误删除分区时LVM会存在残留文件。**在没有设置启动时自动挂载文件系统的情况下您可通过以下方式进行残留文件清理。**
1. 以root用户登录云服务器。 
   登录弹性云服务器请参见[登录弹性云服务器](https://support.huaweicloud.com/ecs_faq/ecs_faq_0632.html)。
   登录裸金属服务器请参见[登录裸金属服务器](https://support.huaweicloud.com/usermanual-bms/bms_umn_0011.html)。
   
   
2. 参考[初始化linux数据盘](https://support.huaweicloud.com/usermanual-evs/evs_01_0033.html)新建分区，分区大小请与删除前保持一致。
3. 分区创建完成后，依次清理 lv，vg，pv 上的残留信息。 
   1. 清理 lv 残留**。**
      **lvremove** *逻辑卷名称*
      命令示例:
      **lvremove /dev/vgdata/lvdata1**
      ```
      [root@ecs-lvmtest ~]#  lvremove /dev/vgdata/lvdata1
       Logical volume "lvdata1" successfully removed
      ```
      检查残留是否清理完成。
      **lvdisplay**
      如果没有"lvdata1"表示清理完成。
      
   
   2. 清理 vg 残留。 **vgremove** *卷组名*
      命令示例:
      **vgremove vgdata**
      ```
      [root@ecs-lvmtest ~]#   vgremove vgdata
       Volume group "vgdata" successfully removed
      ```
      检查残留是否清理完成。
      **vgdisplay**
      如果没有 "vgdata" 表示清理完成。
      
   
   3. 清理 pv 残留。 **pvremove** *磁盘设备名*
      命令示例:
      **pvremove /dev/vdb1**
      ```
      [root@ecs-lvmtest ~]#   pvremove /dev/vdb1
       Labels on physical volume "/dev/vdb1" successfully wiped.
      ```
      检查残留是否清理完成。
      **pvdisplay**
      如果没有 "/dev/vdb1"，表示清理完成。
      
   
   
   
   
 
