Linux基础命令 逻辑卷扩容
gudong366 2025-03-29 14:19 13 浏览
1、parted创建硬盘分区并创建LVM
一、parted将硬盘进行分区
1)、parted的命令方式
Parted 命令分为两种模式:命令行模式和交互模式。
1、命令行模式: parted [option] device [command] ,该模式可以直接在命令行下对磁盘进行分区操作,比较适合编程应用。如:
#parted /dev/sdb print –显示磁盘/dev/sdb分区。
实例:
#将分区设置成gpt格式
parted /dev/sdc mklabel gpt
#创建一个20G的分区
parted /dev/sdc mkpart primary 0 20000
或者
parted /dev/sdc mkpart primary 0 20GB
#将剩余的空间全部创建成一个扩展分区
parted /dev/sdc mkpart extended 1 100%
#/dev/sdd分区分成1个分区
parted /dev/sdd mklabel gpt
parted /dev/sdd mkpart primary 0 100%
2、交互模式:parted [option] device
#parted /dev/sdb –进入交互模式,建议使用交互模式,尤其是对parted命令不是很熟悉的情况下。
2)、常用的2种分区表:MBR与GPT区别。
MBR:MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常用的。
所支持的最大卷:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区
GPT: GPT(即GUID分区表)。是源自EFI标准的一种较新的磁盘分区表结构的标准,是未来磁盘分区的主要形式。与MBR分区方式相比,具有如下优点。
突破MBR 4个主分区限制,每个磁盘最多支持128个分区。支持大于2T的分区,最大卷可达18EB。
3)、parted命令常用选项
当在命令行输入parted后,进入parted命令的交互模式。输入help会显示帮助信息。下面就简单介绍一下常用的功能
1、Check 简单检查文件系统。建议用其他命令检查文件系统,比如fsck
2、Help 显示帮助信息
3、mklabel 创建分区表, 即是使用msdos(MBR)还是使用gpt,或者是其他方式分区表
4、 mkfs 创建文件系统。该命令不支持ext3 格式,因此建议不使用,最好是用parted分好区,然后退出parted交互模式,用其他命令进行分区,比如:mkfs.ext3
5、mkpart 创建新分区。
格式:mkpart PART-TYPE [FS-TYPE] START END
PART-TYPE类型主要有primary(主分区), extended(扩展分区), logical(逻辑区). 扩展分区和逻辑分区只对msdos。
fs-type 文件系统类型,主要有fs32,NTFS,ext2,ext3等
start end 分区的起始和结束位置。
6、mkpartfs建立分区及其文件系统。目前还不支持ext3文件系统,因此不建议使用该功能。最后是分好区后,退出parted,然后用其他命令建立文件系统。
7、print 输出分区信息。该功能有3个选项,
free 显示该盘的所有信息,并显示磁盘剩余空间
number 显示指定的分区的信息
all 显示所有磁盘信息
8、resize 调整指定的分区的大小。目前对ext3格式支持不是很好,所以不建议使用该功能。
9、rescue 恢复不小心删除的分区。如果不小心用parted的rm命令删除了一个分区,那么可以通过rescue功能进行恢复。恢复时需要给出分区的起始和结束的位置。然后parted就会在给定的范围内去寻找,并提示恢复分区。
10、rm 删除分区。命令格式 rm number 。如:rm 3 就是将编号为3的分区删除
11、select 选择设备。当输入parted命令后直接回车进入交互模式是,如果有多块硬盘,需要用select 选择要操作的硬盘。如:select /dev/sdb
12、set 设置标记。更改指定分区编号的标志。标志通常有如下几种:boot hidden raid lvm 等。
boot为引导分区,hidden 为隐藏分区,raid 软raid,lvm 为逻辑分区。
如:set 3 boot on 设置分区号3 为启动分区
注:以上内容为parted常用的功能,由于该工具目前对ext3支持得不是很好,因此有些功能无法应用,比如move(移动分区)和resize等。
4)、parted分区实例:
[root@localhost ~]# parted /dev/sdc
GNU Parted 1.8.1
Using /dev/sdc
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) help
check NUMBER do a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] prints general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partititon NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBER as NAME
print [free|NUMBER|all] display the partition table, a partition, or all devices
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version displays the current version of GNU Parted and copyright information
(parted) p
Error: Unable to open /dev/sdc – unrecognised disk label.
(parted) mklabel
New disk label type? gpt
(parted) p
Model: Adaptec 3t1 (scsi)
Disk /dev/sdc: 2996GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 0
End? 2996G
(parted) p
Model: Adaptec 3t1 (scsi)
Disk /dev/sdc: 2996GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 2996GB 2996GB
(parted) toggle 1 lvm #将分区打上lvm标签
(parted) p
Model: Adaptec 3t1 (scsi)
Disk /dev/sdc: 2996GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 2996GB 2996GB lvm
(parted) quit
Information: Don’t forget to update /etc/fstab, if necessary.
看看/dev下的分区
[root@localhost ~]# ll /dev/sdc*
brw-r—– 1 root disk 8, 32 Nov 7 09:53 /dev/sdc
brw-r—– 1 root disk 8, 33 Nov 7 09:53 /dev/sdc1
不重启读取分区信息:
[root@localhost ~]# partprobe
**第二块硬盘做同样的操作。
以上用parted分区操作就已经完成了,接下来是LVM创建部分。
二、LVM创建部分
1)、使用命令pvcreate创建物理卷
[root@localhost ~]# pvcreate /dev/sdc1
Physical volume “/dev/sdc1″ successfully created
[root@localhost ~]# pvcreate /dev/sdd1
Physical volume “/dev/sdd1″ successfully created
2)、创建卷组名为logdata,将物理卷加入卷组
[root@localhost ~]# vgcreate logdata /dev/sdc1 /dev/sdd1
Volume group “logdata” successfully created
后面新加物理卷的时候也可以通过vgextend 向logdata组添加物理卷
3)、创建完卷组后,就可以创建逻辑卷了(我这里是两块3T的硬盘)
[root@localhost ~]# lvcreate -n logdata01 -L 5500G logdata
Logical volume “logdata01″ created
参数-n表示逻辑卷的名称,-L表示大小,后面是卷组名称
lvdisplay可以查看LVM卷的信息
4)、格式化分区
[root@localhost ~]# mkfs.ext3 /dev/logdata/logdata01
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
720896000 inodes, 1441792000 blocks
72089600 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
44000 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Writing inode tables: 2676/44000
5)、将分区挂载
[root@localhost ~]# mount /dev/logdata/logdata01 /logdata
6)、将挂载信息写入/etc/fstab,以后开机自动挂载。
/dev/logdata/logdata01 /logdata/ ext3 defaults 1 1
7)、最后查看空间
[root@localhost ~]# df -Th
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
1018G 41G 925G 5% /
/dev/sda2 99M 13M 82M 14% /boot
tmpfs 32G 0 32G 0% /dev/shm
/dev/mapper/logdata-logdata01
5.3T 187M 5.1T 1% /logdata
2、Linux磁盘分区parted与lvm在线扩容
parted(gpt):一般用于分大于2TB以上的硬盘
分区与挂载:
选择要分区的盘,格式化分区:
#parted /dev/sdb mklabel gpt
分区方法1(创建主分区1-100%空间):
#parted /dev/sdb mkpart primary 1 100%
分区方法2:
#parted /dev/sdb mkpart primary 4G 5G
格式化:
#mkfs.xfs /dev/sdb1
创建挂载点:
#mkdir /data
将分区挂载到本地目录:
#mount /dev/sdb1 /data
设置开机自动挂载:
#vim /etc/fstab
/dev/sdb1 /data xfs defaults 0 0
[取消挂载]
umount /data
mount -a(测试是不是可以挂上)
LVM在线扩容(建议使用lvm):
第1种情况:卷组内有空闲空间,直接从卷组取空间
1)对逻辑卷扩容
# lvextend -L +500M /dev/vg0/lv0 +表示在原来的空间大小上加上多少空间大小
2)对文件系统扩容
# xfs_growfs /dev/vg0/lv0
第2种情况:卷组内没有空间
1)创建新分区
# parted /dev/sdd mkpart primary 4G 5G
# ll /dev/sdd
sdd sdd1 sdd2 sdd3 sdd4 sdd5
2)创建物理卷
# pvcreate /dev/sdd5
Physical volume “/dev/sdd5” successfully created.
#pvs
3)加入卷组 vg扩容
# vgextend data /dev/sdd5
Volume group “data” successfully extended
#vgs (查看)
如要新建vg卷组,创建命令:
#vgcreate data /dev/sdd5
4)对逻辑卷扩容
# lvextend -L 4500M /dev/data/lv_data
Rounding size to boundary between physical extents: 4.40 GiB.
Size of logical volume data/lv_data changed from 1.96 GiB (251 extents) to 4.40 GiB (563 extents).
Logical volume data/lv_data successfully resized.
如要新建lv逻辑卷,创建命令:
# lvcreate -l +100%free -n lv_data /dev/data
# lvs (查看)
5)对文件系统扩容,同步磁盘信息(新建不需要此步操作)
# xfs_growfs /dev/data/lv_data
6) 使用partprobe命令重新读取分区表
7) 使用df -Th查看扩容完成情况
- 上一篇:MBR 与 GPT 分区的过招
- 下一篇:硬盘分区
相关推荐
- 由浅入深学shell,70页shell脚本编程入门,满满干货建议收藏
-
不会Linux的程序员不是好程序员,不会shell编程就不能说自己会Linux。shell作为Unix第一个脚本语言,结合了延展性和高效的优点,保持独有的编程特色,并不断地优化,使得它能与其他脚本语言...
- 小白7天掌握Shell编程:脚本的创建和执行
-
一、课前声明1、本分享仅做学习交流,请自觉遵守法律法规!2、搜索:Kali与编程,学习更多网络攻防干货!二、知识点详解Shell脚本的格式要求:脚本要以!#/bin/bash开头,其中bash可以替换...
- 飞牛fnNAS搭建Web版Linux系统(飞牛网改版升级说明)
-
飞牛NAS本身就是Linux内核(Debian发行版),那为何还要安装一个Linux呢?因为飞牛的Linux是特殊版本,并不能运行PC端的带UI的程序,比如我需要登录微信,需要使用wps打字……,这是...
- 如何在 Linux 中使用 Sysctl 命令?
-
sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...
- Apple尝试使用轻量级Linux虚拟机实现容器化
-
Apple于本周一发布了一个开源的容器化框架,用于在Mac上创建和运行Linux容器镜像。软件容器将应用程序及其依赖项组合成一个单元,在主机上运行于隔离环境中。由于它们基于符合OCI标准...
- Docker 安全与权限控制:别让你的容器变成“漏洞盒子”
-
在享受容器带来的轻量与灵活的同时,我们也必须面对一个现实问题:安全隐患。容器并不是天然安全,错误配置甚至可能让攻击者“越狱”入侵主机!本篇将带你从多个层面强化Docker的安全防护,构建真正可放心...
- 网络安全必备!Linux firewalld 防火墙原理 + 配置实战(放行http)
-
5.1了解firewall防火墙基础概念与原理5.1.1Linux防火墙概述在网络安全领域,防火墙是保障网络安全的关键屏障,Linux系统中的firewall防火墙(firewalld服...
- 从零开始搭建 Linux PXE 无盘启动服务器
-
在企业环境或实验室中,PXE(PrebootExecutionEnvironment,无盘启动)被广泛用于大规模批量部署操作系统。通过PXE,无需U盘或CD,就能远程启动和安装Linux...
- [250417] Fedora 42 正式发布,搭载 Linux 6.14 内核和 GNOME 48 桌面环境
-
Fedora42正式发布FedoraLinux42现已正式发布!此版本基于最新的Linux内核6.14构建,带来了众多激动人心的新特性和改进,旨在提供更现代化、更强大、更易用的Li...
- Linux Kernel学习003——内核源码
-
Linux学习笔记:老版本内核的坑,新工具救场,代码门道藏着啥秘密.最近想学Linux内核,网上查资料发现现在的稳定版本都已经到5.x了,但我跟着教程选的是2.6.34。官网下载链接卡着老卡,后来用清...
- Linux:实现Hadoop集群Master无密码登录
-
以下所介绍的安装方式都是在线安装方式,如果你需要连网请参考:Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案环境:OS:LinuxUbuntu1...
- 除了Win10,微软还发布了一套“专业版Linux”系统
-
IT之家讯9月21消息,不知道大家是否还记得,微软CEO纳德拉曾在去年的一次活动中公开宣称“微软爱Linux”,其实那个时候的微软就已经在服务器方面拥抱Linux了。而最近,除了最新Windows1...
- Linux系统匿名上网小技巧(linux匿名文件)
-
Tails可以做什么+优点Tails所有数据连接通过Tor网络传输,可以为个人用户提供最好的匿名性和安全性,并且它是一个Linux系统,不会感染Windows系统的病毒,它可以存储在闪存盘上运行。-...
- Linux环境中DeepSeek AI大模型使用与管理之七:安装Cherry Studio
-
简介:在Linux系统中成功通过Ollama部署DeepSeek-R1大模型后,用户通常需要一个直观且易于操作的客户端来访问和交互。为了满足这一需求,本文将详细介绍如何在Linux环境中安装和配置Ch...
- Linux系统部署Go编程环境(一)使用Go语言编写简单web服务器
-
摘要:Go语言是一个开源的编程语言,Go语言被称为“互联网时代的C语言”。Go语言的风格类似于C语言。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有for一种表示...
- 一周热门
- 最近发表
-
- 由浅入深学shell,70页shell脚本编程入门,满满干货建议收藏
- 小白7天掌握Shell编程:脚本的创建和执行
- 飞牛fnNAS搭建Web版Linux系统(飞牛网改版升级说明)
- 如何在 Linux 中使用 Sysctl 命令?
- Apple尝试使用轻量级Linux虚拟机实现容器化
- Docker 安全与权限控制:别让你的容器变成“漏洞盒子”
- 网络安全必备!Linux firewalld 防火墙原理 + 配置实战(放行http)
- 从零开始搭建 Linux PXE 无盘启动服务器
- [250417] Fedora 42 正式发布,搭载 Linux 6.14 内核和 GNOME 48 桌面环境
- Linux Kernel学习003——内核源码
- 标签列表
-
- linux一键安装 (31)
- linux运行java (33)
- ln linux (27)
- linux 磁盘管理 (31)
- linux 内核升级 (30)
- linux 运行python (28)
- linux 备份文件 (30)
- linux 网络测试 (30)
- linux 网关配置 (31)
- linux jre (32)
- linux 杀毒软件 (32)
- linux语法 (33)
- linux博客 (33)
- linux 压缩目录 (37)
- linux 查看任务 (32)
- 制作linux启动u盘 (35)
- linux 查看存储 (29)
- linux乌班图 (31)
- linux挂载镜像 (31)
- linux 软件源 (28)
- linux题目 (30)
- linux 定时脚本 (30)
- linux 网站搭建 (28)
- linux 远程控制 (34)
- linux bind (31)