百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux如何使用LVM创建LV逻辑卷并挂载使用

nanshan 2024-11-03 13:57 20 浏览 0 评论

  • Step 0 前期准备创建RAID

准备4块硬盘,做RAID 5(服务器真机做物理RAID,由于我没有真机,使用虚拟机的软RAID代替)

本实验环境为VMware Worksation虚拟机 + Centos 7

S0-1. 在虚拟机上添加4块硬盘,每块1GB


S0-2. 开启虚拟机,使用lsblk命令查看当前块设备

[root@server121 ~]# lsblk

S0-3. 使用fdisk或者cfdisk为添加的4块磁盘分区(本实验用cfdisk,fdisk步骤大致一样)

[root@server121 ~]# cfdisk /dev/sdb


依次:New----Primary----容量全给----将光标移到Type,类型值修改为fd-----保存

如下图所示,就可以Write保存了,按q退出,至此硬盘/dev/sdb分区完毕,其他三块和这个一样操作

S0-4. 再次使用lsblk命令,查看块设备

*S0-5. 使用mdadm创建RAID 5,三块做RAID,一块做热备

[root@server121 ~]# mdadm -Cv /dev/md0 -l5 -n3 -x1 /dev/sd[b-e]1
/**  -C参数 即--create创建RAID
				-v 打印创建过程的信息
       -l参数 即--level= 创建RAID的类型,有0, 1, 4, 5, 6,10可选
       -n参数 即--raid-devices= 参与组RAID的设备数量
       -x参数 即--spare-devices= 热备盘数量
   **/

S0-6. 使用mdadm命令查看RAID详情

[root@server121 ~]# mdadm -D /dev/md0
/* -D参数:显示RAID详细信息  */

正常!


至此,RAID 5磁盘阵列创建完毕


  • Step 1 创建物理卷PV

S1-1. 创建PV前先使用pvscan命令扫描当前系统存在的PV

[root@server121 ~]# pvscan
 PV /dev/sda2   VG centos          lvm2 [<99.50 GiB / 0    free]           //该PV为系统所用,不要动它!
  Total: 1 [<99.50 GiB] / in use: 1 [<99.50 GiB] / in no VG: 0 [0   ]

*S1-2. 使用pvcreate命令创建PV

[root@server121 ~]# pvcreate /dev/md0
Physical volume "/dev/md0" successfully created.

S1-3. 使用pvs命令显示已创建的PV(简略信息),详细信息查看使用pvdisplay命令

[root@server121 ~]# pvs /dev/md0
			PV         VG     	Fmt  	Attr 	PSize   	PFree
  /dev/md0          			lvm2 	---   <2.00g 	<2.00g


  • Step 2 创建卷组VG

S2-1. 创建VG前先使用vgscan命令扫描当前系统存在的VG

[root@server121 ~]# vgscan
  Reading volume groups from cache.
  Found volume group "centos" using metadata type lvm2

*S2-2. 使用vgcreate命令创建VG

[root@server121 ~]# vgcreate vg01 /dev/md0
  Volume group "vg01" successfully created
  /* 语法:vgcreate <vgname> pv */

S2-3. 使用vgs命令显示已创建的VG(简略信息),详细信息查看使用vgdisplay命令

[root@server121 ~]# vgs vg01
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   1   0   0 wz--n- 1.99g 1.99g


  • Step 3 创建逻辑卷LV

S3-1. 创建LV前先使用lvscan命令扫描当前系统存在的LV

[root@server121 ~]# lvscan
  ACTIVE            '/dev/centos/swap' [1.00 GiB] inherit
  ACTIVE            '/dev/centos/home' [20.00 GiB] inherit
  ACTIVE            '/dev/centos/root' [<78.50 GiB] inherit

*S3-2. 使用lvcreate命令创建LV

[root@server121 ~]# lvcreate -l +100%FREE -n DISK01 /dev/vg01
  Logical volume "DISK01" created.
/**  -l 参数指定LE的个数,+100%FREE表示vg中可用的PE数全部分配
 也可以使用-L参数,给LV分配固定的容量
 		  -n 命名LV
     语法:lvcreate -l <numbers of LE> | -L <size of LV> -n <lvname> vg(path)
 **/

S3-3. 使用lvs命令显示已创建的LV(简略信息),详细信息查看使用lvsdisplay命令

[root@server121 ~]# lvs /dev/vg01/DISK01
  LV     VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  DISK01 vg01 -wi-a----- 1.99g


  • Step 4 为LV新建文件系统(格式化LV)

使用mkfs命令格式化新建的LV

[root@server121 ~]# mkfs -t ext4 /dev/vg01/DISK01
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
130560 inodes, 522240 blocks
26112 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=534773760
16 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

/* 语法:mkfs -t <指定文件系统类型> <device path> */


  • Step 5 挂载LV

S5-1. 创建挂载点目录

[root@server121 ~]# mkdir /mnt/DISK01

S5-2.1 手动挂载 (临时挂载 不推荐)

[root@server121 ~]# mount -t ext4 -o rw /dev/vg01/DISK01 /mnt/DISK01
/* 语法:mount -t <文件系统类型> -o <ro只读 | rw读写> <device path> <mountpoint>

S5-2.2 自动挂载 (永久挂载 墙裂推荐)

[root@server121 ~]# echo "/dev/vg01/DISK01    /mnt/DISK01    ext4    defaults    0  0 " >> /etc/fstab
[root@server121 ~]# mount -a

S5-3. 使用df命令查看已挂载的块设备

已成功挂载

[root@server121 ~]# df -Th | grep -v "tmpfs"
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        79G  4.0G   75G   6% /
/dev/sda1               xfs       509M  166M  344M  33% /boot
/dev/mapper/centos-home xfs        20G   37M   20G   1% /home
/dev/mapper/vg01-DISK01 ext4      2.0G  6.0M  1.9G   1% /mnt/DISK01


  • Step 6 向LV中写入数据

使用dd命令向已挂载的LV写入数据

[root@server121 ~]# dd if=/dev/zero of=/mnt/DISK01/file1 bs=20M count=90
90+0 records in
90+0 records out
1887436800 bytes (1.9 GB) copied, 2.27132 s, 831 MB/s

查看已挂载LV的容量,已使用98%的容量,急需扩容!

[root@server121 ~]# df -Th /mnt/DISK01
Filesystem              								Type  	Size  	Used 	Avail 	Use% 	Mounted on
/dev/mapper/vg01-DISK01 	 ext4  	2.0G  	1.8G   	52M  	98% 		/mnt/DISK01


  • Step 7 扩容已挂载的LV

S7-1. 给LV扩容前,先看一下所在VG是否还有可分配的PE

[root@server121 ~]# vgdisplay vg01

可以看到VG可分配的PE数为0,所以要扩容LV,必须先从VG扩容开始,而要想扩容VG,需要查看是否有可用的PV

[root@server121 ~]# pvscan | grep -v "VG"       //查询是否有可用的PV


S7-2. 关闭虚拟机,离线添加一块容量为20GB的硬盘,开启虚拟机

使用lsblk命令查看新添加的硬盘盘符为/dev/sdf

S7-3. 将/dev/sdf整盘作为PV使用

[root@server121 ~]# pvcreate /dev/sdf
Physical volume "/dev/sdf" successfully created.


*S7-4.扩容VG

[root@server121 ~]# vgextend vg01 /dev/sdf
  Volume group "vg01" successfully extended
  /* 语法:vgextend <vgname> pv(path) */

验证VG容量

[root@server121 ~]# vgdisplay vg01

VG扩容成功!


*S7-5. 扩容LV

[root@server121 ~]# lvextend -l +50%FREE /dev/vg01/DISK01
 Size of logical volume vg01/DISK01 changed from 1.99 GiB (510 extents) to 11.99 GiB (3070 extents).
  Logical volume vg01/DISK01 successfully resized.
  /* 语法:lvextend -l <指定PE个数> | -L <指定容量大小> lv(path) */

此时使用df命令查看已挂载的LV,容量并未发生改变

S7-6. 最后一步,扩展文件系统FS

不同的文件系统扩展命令略有不同,常用的文件系统扩展命令如下:

xfs:xfs_growfs <device>

ext2/3/4:resize2fs <device>

gfs2: gfs2_grow <mountpoint>

[root@server121 ~]# resize2fs /dev/vg01/DISK01
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg01/DISK01 is mounted on /mnt/DISK01; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/vg01/DISK01 is now 3143680 blocks long.

再次使用df命令查看已挂载的LV

LV扩容成功!

相关推荐

Let’s Encrypt免费搭建HTTPS网站

HTTPS(全称:HyperTextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入...

使用Nginx配置TCP负载均衡(nginx tcp负载)

假设Kubernetes集群已经配置好,我们将基于CentOS为Nginx创建一个虚拟机。以下是实验种设置的详细信息:Nginx(CenOS8Minimal)-192.168.1.50Kube...

Nginx负载均衡及支持HTTPS与申请免费SSL证书

背景有两台minio文件服务器已做好集群配置,一台是192.168.56.41:9000;另一台是192.168.56.42:9000。应用程序通过Nginx负载均衡调用这两台minio服务,减轻单点...

HTTPS配置实战(https配置文件)

原因现在网站使用HTTPS是规范操作之一,前些日子买了腾讯云服务,同时申请了域名http://www.asap2me.top/,目前该域名只支持HTTP,想升级为HTTPS。关于HTTPS的链接过程大...

只有IP地址没有域名实现HTTPS访问方法

一般来说,要实现HTTPS,得有个注册好的域名才行。但有时候呢,咱只有服务器的IP地址,没注册域名,这种特殊情况下,也能照样实现HTTPS安全访问,按下面这些步骤来就行:第一步,先确认公网...

超详解:HTTPS及配置Django+HTTPS开发环境

众所周知HTTP协议是以TCP协议为基石诞生的一个用于传输Web内容的一个网络协议,在“网络分层模型”中属于“应用层协议”的一种。在这里我们并不研究该协议标准本身,而是从安全角度去探究使用该协议传输数...

Godaddy购买SSL之后Nginx配置流程以及各种错误的解决

完整流程:参考地址:https://sg.godaddy.com/zh/help/nginx-generate-csrs-certificate-signing-requests-3601生成NGI...

Nginx从安装到高可用,一篇搞定(nginx安装与配置详解)

一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yuminstallgc...

阿里云免费证书申请,配置安装,使用tomcat,支持http/https访问

参数说明商品类型默认已选择云盾证书服务(无需修改)。云盾证书服务类型SSL证书服务的类型。默认已选择云盾SSL证书(无需修改),表示付费版SSL证书。如果您需要免费领取或付费扩容DV单域名证书【免费试...

你试过两步实现Nginx的规范配置吗?极速生成Nginx配置小工具

NGINX是一款轻量级的Web服务器,最强大的功能之一是能够有效地提供HTML和媒体文件等静态内容。NGINX使用异步事件驱动模型,在负载下提供可预测的性能。是当下最受欢迎的高性能的Web...

从零开始搭建HTTPS服务(搭建https网站)

搭建HTTPS服务的最初目的是为了开发微信小程序,因为wx.request只允许发起HTTPS请求,并且还必须和指定的域名进行网络通信。要从零开始搭建一个HTTPS的服务需要下面4...

群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问

安全第一步,群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问【新手导向】NAS本质还是一个可以随时随地访问的个人数据存储中心,我们在外网访问的时候,特别是在公网IP下,其实会面临着很多安...

让网站快速升级HTTPS协议提高安全性

为什么用HTTPS网络安全越来越受到重视,很多互联网服务网站,都已经升级改造为https协议。https协议下数据包是ssl/tcl加密的,而http包是明文传输。如果请求一旦被拦截,数据就会泄露产生...

用Https方式访问Harbor-1.9版本(https访问流程)

我上周在头条号写过一篇原创文章《Docker-Harbor&Docker-kitematic史上最详细双系统配置手册》,这篇算是它的姊妹篇吧。这篇文章也将用到我在头条写的另一篇原创文章的...

如何启用 HTTPS 并配置免费的 SSL 证书

在Linux服务器上启用HTTPS并配置免费的SSL证书(以Let'sEncrypt为例)可以通过以下步骤完成:---###**一、准备工作**1.**确保域名已解析**...

取消回复欢迎 发表评论: