首页
centos
常用命令linux_系统
Centos后台运行程序命令nohup
CentOS7启用阿里源yum安装Nginx
使用清华大学yum源
使用国内yum源
Linux script(录制) 命令
Linux内核参数中的配置项
Linux 系统生成或重置机器 ID
centos7系统安装
Centos7配置开机自启动脚本
CentOS忘记密码
Linux的服务、程序
系统优化+模板制作
CentOS设置环境变量
CentOS7的systemd
Linux常用命令记录
Centos 7查看系统最近一次启动时间和运行时间
Linux命令 之 watch命令
Centos7下date怎么英文格式输出
linux 使用 rz 和 sz 上传下载文件
Linux下的压缩/解压缩
常用命令linux_文本处理
计划任务crontab
CentOS7 SElinux和防火墙Firewall
Centos firewall-cmd配置软路由
CentOS7系统中使用iptables
iptables配置
iptables基础操作
使用iptables设置端口敲门(port knocking)后转发
Centos7 SSH登录日志分析
CentOS下查看tcp的网络连接状态数 netstat + awk
CentOS7上安装 Fail2Ban防SSH爆破
Fail2Ban开启邮件告警
LDAP
文件存储
ZFS
SSH
CentOS 7 SSH配置免密码登录
CentOS7开启SSH访问配置
删除ssh客户端记录的主机密钥标识(指纹)
sshd启动失败解决
添加用户,设置sudo权限
ssh公钥、机器指纹
ssh客户端提示:找不到对应主机密钥类型
shell脚本
示例:jumpserver一键安装脚本
centos中使用ping日志记录网络通断
盘符挂载硬盘导致重启系统失败
CentOS_网络
centos路由配置
Linux 系统添加永久静态路由
centos 添加删除路由
Linux下使用TC实现网络限流
linux系统下的wifi启动不了
hosts文件配置
网络端口
Centos 网卡命名规则
Centos命令行中nmtui调用图形界面设置网卡
查看CentOS网口的使用带宽
linux抓包工具tcpdump
定时备份删除文件
定时删除n日前的文件
备份指定目录下的文件
检查定时备份是否执行
inotify+rsync实时同步
rsync+lsync
CentOS7 使用SMTP发送邮件
Centos7部署开源SSH蜜罐cowrie
Centos7磁盘相关命令
centos 7 新增硬盘 分区并挂载
centos7加硬盘给根分区扩容--lvm模式
Linux中对lvm逻辑卷分区大小的调整(针对xfs与ext4不同文件系统)
CentOS7挂载4T磁盘
Centos7_NFS
CentOS7挂载samba共享文件夹
vsftpd主动模式和被动模式
CentOS清除旧硬盘格式
CentOS磁盘读写性能测试
硬盘IO查看分析工具iostat
Linux迁移home目录到根目录-需LVM分区
使用 smartctl 命令检查硬盘的状态
lsof列出正在使用某个文件夹
/dev/disk 目录
本文档由 内网文摘 发布,转载请注明出处
-
+
首页
Centos7磁盘相关命令
Linux系统的分区概念 ## 分区格式: 磁盘的常见分区格式:MBR分区和GPT分区: ### MBR 分区, MBR 的意思是 "主引导记录"。MBR 最大支持 2TB 容量,在容量方面存在着极大的瓶颈。 MBR分区最多可以分4个分区 硬盘分区有三种,主磁盘分区、扩展磁盘分区、逻辑分区。 一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。 扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。 由于扩展分区只能有一个,所以这4个分区可以是4个主分区(P + P + P + P)或者3个主分区加1个扩展分区(P + P + P + E) 注意: (1)实际上,不建议用户将硬盘分为4个主分区.这是因为,假如一个20GB的硬盘,若4个主分区占据了15GB的空间,则剩下的5GB空间完全不能使用,因为已经没有多余的分区表可以记录这些空间了. (2)考虑到磁盘的连续性,一般建议将扩展分区放在最后面的柱面内. (3)理论上允许一个硬盘只有1个主分区,其它空间都分配给扩展分区.(P + E) 参考:https://blog.csdn.net/weixin_48345177/article/details/131287556 ### GPT 分区, GPT 意为 GUID 分区表,它支持的磁盘容量比 MBR 大得多。 这是一个正逐渐取代 MBR 的新标准,它是由 UEFI 辅住而形成的,将来 UEFI 用于取代老旧的 BIOS,而 GPT 则取代老旧的 MBR。 GPT分区最多可以分128个分区。 ### MBR、GPT分区的不同 gpt类型的分区有主分区吗? 答:GPT(GUID Partition Table)类型的分区是可以有主分区的,但与MBR(Master Boot Record)类型的分区不同的是,GPT允许创建最多128个主分区。此外,GPT还提供了一个保护分区和一个备份分区。保护分区包含硬盘的分区表,而备份分区则是对保护分区的备份,以防分区表损坏。因此,GPT类型的分区比MBR更灵活和可靠。 gpt类型的分区有扩展分区的概念吗? 答:GPT类型的分区没有扩展分区的概念。扩展分区是MBR类型的分区中的一种特殊分区,它可以包含其他逻辑分区。但在GPT分区方案中,每个分区都是独立的主分区,没有扩展分区的概念。因此,可以在GPT分区中直接创建多个主分区来满足需要。这也是GPT与MBR分区方案的另一个不同之处。 ## MBR磁盘分区工具fdisk: ### fdisk工具:常用命令含义 fdisk工具用于 MBR格式 ``` 命令:fdisk fdisk分区: 1、最多只有4个分区 2、 第一步:创建分区 fdisk /dev/sdb n : 创建一个分区 d : 删除一个分区 p : 打印分区列表 w : 写入磁盘 第二步:保存分区 w : 写入磁盘 3、制作文件系统 mkfs.xfs /dev/sdb1 4、挂载使用 mount /dev/sdb1 /opt 5、查看 lsblk ``` ### fdisk工具:常用命令含义 适用于磁盘小于2T的磁盘,分区类型MBR,主分区4或者主分区3+扩展分区,分区后需要保存才能生效。 操作步骤如下: ``` fdisk /dev/sdb Command (m for help): m #输入m列出常用的命令 Command action a toggle a bootable flag #切换分区启动标记 b edit bsd disklabel #编辑sdb磁盘标签 c toggle the dos compatibility flag #切换dos兼容模式 d delete a partition #删除分区 l list known partition types #显示分区类型 m print this menu #显示帮助菜单 n add a new partition #新建分区 o create a new empty DOS partition table #创建新的空白分区表 p print the partition table #显示分区表的信息 q quit without saving changes #不保存退出 s create a new empty Sun disklabel #创建新的Sun磁盘标签 t change a partitions system id #修改分区ID,可以通过l查看id u change display/entry units #修改容量单位,磁柱或扇区 v verify the partition table #检验分区表 w write table to disk and exit #保存退出 x extra functionality (experts only) #拓展功能 n #新建分区 p #显示分区表的信息 d # 删除一个已有的分区,保存退出后需要执行partprobe命令刷新一下分区表 w #保存退出 ``` ### fdisk创建分区: 操作步骤如下: ``` fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0x12c57921 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G 分区 1 已设置为 Linux 类型,大小设为 1 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x12c57921 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux 命令(输入 m 获取帮助): ##### 重复上述步骤,创建4个1G的主分区 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x12c57921 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux /dev/sdb2 2099200 4196351 1048576 83 Linux /dev/sdb3 4196352 6293503 1048576 83 Linux /dev/sdb4 6293504 8390655 1048576 83 Linux #### 之后再创建新的分区就会失败。即使有足够的空间。 命令(输入 m 获取帮助): 命令(输入 m 获取帮助):n If you want to create more than four partitions, you must replace a primary partition with an extended partition first. 命令(输入 m 获取帮助): ##### 删除主分区4,把剩余的空间都给他 命令(输入 m 获取帮助):d # 删除主分区4 分区号 (1-4,默认 4):4 分区 4 已删除 命令(输入 m 获取帮助):p # 查看 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x12c57921 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux /dev/sdb2 2099200 4196351 1048576 83 Linux /dev/sdb3 4196352 6293503 1048576 83 Linux 命令(输入 m 获取帮助):n # 新建扩展分区 Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e # 选择创建扩展分区 已选择分区 4 起始 扇区 (6293504-41943039,默认为 6293504): 将使用默认值 6293504 Last 扇区, +扇区 or +size{K,M,G} (6293504-41943039,默认为 41943039): # 直接回车,剩余空间都给它 将使用默认值 41943039 分区 4 已设置为 Extended 类型,大小设为 17 GiB 命令(输入 m 获取帮助):p # 查看 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x12c57921 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux /dev/sdb2 2099200 4196351 1048576 83 Linux /dev/sdb3 4196352 6293503 1048576 83 Linux /dev/sdb4 6293504 41943039 17824768 5 Extended 命令(输入 m 获取帮助): w # 保存 ####### 查看sdb分区。 [root@test ~]# lsblk /dev/sdb NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 10G 0 disk ├─sdb1 8:17 0 1G 0 part ├─sdb2 8:18 0 1G 0 part ├─sdb3 8:19 0 1G 0 part └─sdb4 8:20 0 1K 0 part ``` ## GPT磁盘分区工具gdis: ### gdis工具用于 GPT格式 ``` [root@egon ~]# yum install gdisk -y [root@egon ~]# gdisk /dev/sdc ...... Command (? for help): m b back up GPT data to a file #将GPT数据备份到文件中 c change a partition's name #更改分区的名称 d delete a partition #删除分区 i show detailed information on a partition #显示分区的详细信息 l list known partition types #列出已知的分区类型 n add a new partition #添加一个新的分区 o create a new empty GUID partition table (GPT) #创建一个新的空GUID分区表(GPT) p print the partition table #打印分区表 q quit without saving changes #没有保存更改就退出 r recovery and transformation options (experts only) #恢复和转换选项(仅限专家使用) s sort partitions #年代分类分区 t change a partition's type code #不要更改分区的类型代码 v verify disk #验证磁盘 w write table to disk and exit #将表写入磁盘并退出 x extra functionality (experts only) #额外功能(仅限专家使用) ? print this menu #打印菜单 ``` ### gdisk创建分区 ``` Command (? for help): n # 新建 Partition number (1-128, default 1): # 直接回车,默认分区号为1 First sector (34-5242879966, default = 2048) or {+-}size{KMGTP}: #直接回车,使用默认的起始位置 Last sector (2048-5242879966, default = 5242879966) or {+-}size{KMGTP}: +1G # 设定1G的空间 Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): L # 列出所有文件系统 ......会看到一系列文件系统信息,默认的8300编号代表Linux filesystem,用它就好 Hex code or GUID (L to show codes, Enter = 8300): # 直接回车用默认8300就好 Changed type of partition to 'Linux filesystem' Command (? for help): p # 打印查看 ...... Number Start (sector) End (sector) Size Code Name 1 2048 2099199 1024.0 MiB 8300 Linux filesystem Command (? for help): w # 保存 Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y # 输入y保存 OK; writing new GUID partition table (GPT) to /dev/sdc. The operation has completed successfully. ``` ## 格式化制作文件系统与挂载 磁盘必须格式化文件系统才能挂载使用 ### 格式化文件系统 ``` 针对一个硬盘 /dev/sdb 可以不分区,直接格式化制作文件系统。 mkfs.xfs /dev/sdb 也可以基于MBR或者GPT分区方式完毕后,针对某一分区,比如/dev/sdb2制作文件系统。 [root@test ~]# mkfs.xfs /dev/sdb2 meta-data=/dev/sdb2 isize=512 agcount=4, agsize=65536 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 ``` centos7选择xfs格式作为默认文件系统,而且不再使用以前的ext,仍然支持ext4,xfs专为大数据产生,每个单个文件系统最大可以支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性高。还可以通过xfsdump,xfsrestore来备份和恢复。 ### 挂载与卸载: 以/dev/sdb2 为例子演示 挂载 [root@test ~]# mkdir /opt2 [root@test ~]# mount /dev/sdb2 /opt2 卸载 [root@test ~]# umount /dev/sdb2 或者 umount /opt2 强制卸载 umount -l /dev/sdb2 # 或者umount -l /opt2 开启开机自动挂载 编辑文件/etc/fstab ``` [root@test~]# sed -i '$a /dev/sdb1 /opt xfs defaults 0 0' /etc/fstab [root@test~]# tail -1 /etc/fstab /dev/sdb1 /opt xfs defaults 0 0 ``` 补充:磁盘挂载mount ``` -t 指定文件系统 -a 挂载/etc/fstab中配置的所有 [root@egon ~]# mount -t xfs /dev/sdb1 /db1 可以查看到文件系统的uuid并挂载 [root@egon ~]# blkid | grep sdb1 /dev/sdb1: UUID="10a939a8-d17c-4a0f-9a89-8066ac013855" TYPE="xfs" [root@egon ~]# mount UUID="10a939a8-d17c-4a0f-9a89-8066ac013855" /opt 建议配置文件/etc/fstab用uuid [root@egon ~]# tail -1 /etc/fstab # 编辑文件,新增一行 UUID="10a939a8-d17c-4a0f-9a89-8066ac013855" /opt xfs defaults 0 0 [root@egon ~]# mount -a [root@egon ~]# df # 查看挂载情况 ``` ## LVM LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘 可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。 实际的物理磁盘及其划分的分区和其上的物理卷(PV)。 一个或多个物理卷可以用来创建卷组(VG)。 然后基于卷组可以创建逻辑卷(LV)。 只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。 文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。 通过LVM技术,可以屏蔽掉磁盘分区的底层差异,在逻辑上给文件系统提过一个卷的概念,然后在这些卷上简历文件系统,: ``` 物理卷(PV):(physical volume),把常规的磁盘设备通过pvcreate命令对其进行初始化,形成了物理卷。其实就是硬盘或分区。(面粉) 卷组(VG):(volume group),把多个物理卷组成一个逻辑的整体,这样卷组的大小就是多个硬盘之和。或者理解就是由一个或多个PV组成的整体。(面团) 逻辑卷(LV):(logical volume),从卷组中划分需要的空间大小出来。用户仅需对其格式化然后即可挂载使用。从VG中切割出的空间用于创建文件系统。(切成馒头) 基本单元(PE):(physical extend),分配的逻辑大小的最小单元,默认为4MB的基本块。(假设分配100MB逻辑空间,则需要创建25个PE) ``` lvm优缺点总结: ``` # 优点: # 1、可以在系统运行的状态下动态的扩展文件系统的大小。 # 2、文件系统可以跨多个磁盘,因此文件系统大小不会受物理磁盘的限制。 # 3、可以增加新的磁盘到LVM的存储池中。 # 4、可以以镜像的方式冗余重要的数据到多个物理磁盘。 # 5、可以方便的导出整个卷组到另外一台机器。 # 缺点: # 1、因为加入了额外的操作,存取性能受到影响。 # 2、当卷组中的一个磁盘损坏时,整个卷组都会受到影响。 解释:LVM如果有一个磁盘损坏,整个lvm都坏了,lvm只有动态扩展作用, 方案:底层用RAID + 上层LVM = 既有冗余又有动态扩展 # 2、在从卷组中移除一个磁盘的时候必须使用reducevg命令(该命令要求root权限,并且不允许在快照卷组中使用) ``` ### LVM使用: ``` 下载软件包 1、yum install -y lvm2 # 制作 [root@egon ~]# pvcreate /dev/sdb1 # 对分区做 [root@egon ~]# pvcreate /dev/sdb2 # 对分区做 [root@egon ~]# pvcreate /dev/sdb3 # 对分区做 [root@egon ~]# pvcreate /dev/sdc # 对整块盘做 # 查看 [root@egon ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- 1.00g 1.00g /dev/sdb2 lvm2 --- 1.00g 1.00g /dev/sdb3 lvm2 --- 1.00g 1.00g /dev/sdc lvm2 --- 20.00g 20.00g [root@egon ~]# pvscan PV /dev/sdb1 lvm2 [1.00 GiB] PV /dev/sdc lvm2 [20.00 GiB] PV /dev/sdb2 lvm2 [1.00 GiB] PV /dev/sdb3 lvm2 [1.00 GiB] Total: 4 [23.00 GiB] / in use: 0 [0 ] / in no VG: 4 [23.00 GiB] #### 制作vg:将pv划入vg中 # 制作一个vg1: [root@egon ~]# vgcreate vg1 /dev/sdb1 /dev/sdc # 包含/dev/sdb1与/dev/sdc两个pv Volume group "vg1" successfully created [root@egon ~]# vgs VG #PV #LV #SN Attr VSize VFree vg1 2 0 0 wz--n- 20.99g 20.99g # 也可以再制作一个vg2: [root@egon ~]# vgcreate vg2 /dev/sdb2 /dev/sdb3 # 包含/dev/sdb2与/dev/sdb3两个pv Volume group "vg2" successfully created [root@egon ~]# vgs VG #PV #LV #SN Attr VSize VFree vg1 2 0 0 wz--n- 20.99g 20.99g vg2 2 0 0 wz--n- 1.99g 1.99g [root@egon ~]# 3创建逻辑卷lvm 选项 -L #逻辑卷大小 -n #逻辑卷名字 # 从vg1中分出来逻辑卷lv1_from_vg1、lv2_from_vg1 [root@egon ~]# lvcreate -L 100M -n lv1_from_vg1 vg1 [root@egon ~]# lvcreate -L 200M -n lv2_from_vg1 vg1 # 从vg2中分出来一个建逻辑卷lv1_from_vg2、lv1_from_vg2 [root@egon ~]# lvcreate -L 300M -n lv1_from_vg2 vg2 [root@egon ~]# lvcreate -L 400M -n lv2_from_vg2 vg2 # 查看 [root@egon ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv1_from_vg1 vg1 -wi-a----- 100.00m lv2_from_vg1 vg1 -wi-a----- 200.00m lv1_from_vg2 vg2 -wi-a----- 300.00m lv2_from_vg2 vg2 -wi-a----- 400.00m # 把vg的100%空间都给lv lvcreate -l 100%VG -n lv的名字 vg的名字 格式与挂载: [root@egon ~]# mkfs.xfs /dev/vg1/lv1_from_vg1 [root@egon ~]# mkfs.xfs /dev/vg1/lv2_from_vg1 [root@egon ~]# mkfs.xfs /dev/vg2/lv1_from_vg2 [root@egon ~]# mkfs.xfs /dev/vg2/lv2_from_vg2 [root@egon ~]# mount /dev/vg1/lv1_from_vg1 /test1/ [root@egon ~]# mount /dev/vg1/lv2_from_vg1 /test2/ [root@egon ~]# [root@egon ~]# mount /dev/vg2/lv1_from_vg2 /test3/ [root@egon ~]# mount /dev/vg2/lv2_from_vg2 /test4/ # 查看 [root@egon ~]# df 文件系统 1K-块 已用 可用 已用% 挂载点 ... /dev/mapper/vg1-lv1_from_vg1 98980 5344 93636 6% /test1 /dev/mapper/vg1-lv2_from_vg1 201380 10464 190916 6% /test2 /dev/mapper/vg2-lv1_from_vg2 303780 15584 288196 6% /test3 /dev/mapper/vg2-lv2_from_vg2 406180 20704 385476 6% /test4 [root@egon ~]# ``` ### 示例: ``` [root@test ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created. [root@test ~]# [root@test ~]# pvcreate /dev/sdb2 WARNING: xfs signature detected on /dev/sdb2 at offset 0. Wipe it? [y/n]: ^C Interrupted... Aborted wiping of xfs. 1 existing signature left on the device. Interrupted... [root@test ~]# [root@test ~]# [root@test ~]# pvcreate /dev/sdb3 WARNING: swap signature detected on /dev/sdb3 at offset 4086. Wipe it? [y/n]: y Wiping swap signature on /dev/sdb3. Physical volume "/dev/sdb3" successfully created. [root@test ~]# [root@test ~]# [root@test ~]# [root@test ~]# [root@test ~]# [root@test ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 512M 0 part /boot └─sda2 8:2 0 99.5G 0 part ├─centos-root 253:0 0 99G 0 lvm / └─centos-swap 253:1 0 512M 0 lvm [SWAP] sdb 8:16 0 10G 0 disk ├─sdb1 8:17 0 1G 0 part ├─sdb2 8:18 0 1G 0 part ├─sdb3 8:19 0 1G 0 part └─sdb4 8:20 0 1K 0 part sr0 11:0 1 1024M 0 rom [root@test ~]# [root@test ~]# [root@test ~]# [root@test ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <99.50g 0 /dev/sdb1 lvm2 --- 1.00g 1.00g /dev/sdb3 lvm2 --- 1.00g 1.00g [root@test ~]# [root@test ~]# pvscan PV /dev/sda2 VG centos lvm2 [<99.50 GiB / 0 free] PV /dev/sdb3 lvm2 [1.00 GiB] PV /dev/sdb1 lvm2 [1.00 GiB] Total: 3 [<101.50 GiB] / in use: 1 [<99.50 GiB] / in no VG: 2 [2.00 GiB] [root@test ~]# [root@test ~]# [root@test ~]# vgcteate vg1 /dev/sdb1 /dev/sdb3 -bash: vgcteate: command not found [root@test ~]# vgcreate vg1 /dev/sdb1 /dev/sdb3 Volume group "vg1" successfully created [root@test ~]# [root@test ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <99.50g 0 vg1 2 0 0 wz--n- 1.99g 1.99g [root@test ~]# [root@test ~]# [root@test ~]# lvcreate -L 100M -n 1v1_from_vg1 vg1 Logical volume "1v1_from_vg1" created. [root@test ~]# lvcreate -L 100M -n 1v1_from_vg1 vg1 Logical Volume "1v1_from_vg1" already exists in volume group "vg1" [root@test ~]# lvcreate -L 100M -n 2v1_from_vg1 vg1 Logical volume "2v1_from_vg1" created. [root@test ~]# [root@test ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <99.00g swap centos -wi-ao---- 512.00m 1v1_from_vg1 vg1 -wi-a----- 100.00m 2v1_from_vg1 vg1 -wi-a----- 100.00m [root@test ~]# mkfs.xfs /dev/vg1/1v1_from_vg1 meta-data=/dev/vg1/1v1_from_vg1 isize=512 agcount=4, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=25600, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@test ~]# mkfs.xfs /dev/vg1/2v1_from_vg1 meta-data=/dev/vg1/2v1_from_vg1 isize=512 agcount=4, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=25600, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@test ~]# [root@test ~]# [root@test ~]# ls 2.sh anaconda-ks.cfg date file2 init.sh nginx-1.8.0 nginx-1.8.0.tar.gz passwd [root@test ~]# mkdir /test123 [root@test ~]# [root@test ~]# [root@test ~]# mount /dev/vg1/1v1_from_vg1 /test1/ mount: mount point /test1/ does not exist [root@test ~]# mount /dev/vg1/1v1_from_vg1 /test123/ [root@test ~]# [root@test ~]# [root@test ~]# [root@test ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 979M 0 979M 0% /dev tmpfs 991M 0 991M 0% /dev/shm tmpfs 991M 18M 973M 2% /run tmpfs 991M 0 991M 0% /sys/fs/cgroup /dev/mapper/centos-root 99G 2.8G 97G 3% / /dev/sda1 509M 157M 353M 31% /boot tmpfs 199M 0 199M 0% /run/user/0 /dev/mapper/vg1-1v1_from_vg1 97M 5.3M 92M 6% /test123 ``` ### 动态在线扩容: 再不用卸载的情况下完成扩容 ``` lvextend -L [+]MGT /dev/VG_NAME/VL_NAME # 注意:-L 100M 与 -L +100M不是一个意思,或者代表在原有的基础上扩容 # 1、新增一块盘或者一个分区 fdisk /dev/sdb ...... partprobe ls /dev/sdb4 # 2、新增一个pv [root@egon ~]# pvcreate /dev/sdb4 # 3、把新增的pv扩到vg2里 [root@egon ~]# vgextend vg2 /dev/sdb4 [root@egon ~]# vgs # 可以看到vg2扩容了 # 4、接下来对lv1_from_vg2扩容 [root@egon ~]# lvextend -L +1000M /dev/vg2/lv1_from_vg2 [root@egon ~]# xfs_growfs /dev/vg2/lv1_from_vg2 # 扩展逻辑卷后需要更新fs文件系统 ``` ### 动态缩容: (不要缩容,容易出问题。数据无法找回) 删除: ``` # 删除lv之前需要先卸载挂载点 [root@egon ~]# umount /test3 [root@egon ~]# lvremove /dev/vg2/lv1_from_vg2 # 删vg [root@egon ~]# vgremove vg2 # 删pv:只能删掉那些不属于任何vg的pv [root@egon ~]# pvremove /dev/sdb2 [root@egon ~]# pvremove /dev/sdb3 ``` ### 将新的磁盘添加到CentOS中的LVM存储池中的步骤: 1. 打开终端并运行lsblk命令以查看所有可用的磁盘和分区。 2. 插入新的磁盘并运行以下命令来查看新的磁盘和其分区: ``` sudo fdisk -l ``` 3. 运行以下命令来创建一个新的物理卷(PV): ``` sudo pvcreate /dev/[新磁盘] ``` 例如,如果新的磁盘是/dev/sdb,那么命令将是: ``` sudo pvcreate /dev/sdb ``` 4. 运行以下命令来查看当前的物理卷: ``` sudo pvs ``` 确认新创建的物理卷是正确的。 5. 运行以下命令来将新的物理卷添加到现有的卷组(VG): ``` sudo vgextend [现有VG的名称] /dev/[新物理卷名称] ``` 例如,如果现有VG的名称为vg01,而新的物理卷名称为/dev/sdb,那么命令将是: ``` sudo vgextend vg01 /dev/sdb ``` 6. 运行以下命令来查看当前的卷组: ``` sudo vgs ``` 确认卷组扩展成功。 7. 运行以下命令来将卷组中新的物理卷添加到现有的逻辑卷(LV): ``` sudo lvextend -l +100%FREE [现有LV的名称] ``` 例如,如果您要将新的磁盘添加到logical_vol卷,则命令将是: ``` sudo lvextend -l +100%FREE /dev/vg01/logical_vol ``` 8. 运行以下命令来扩展文件系统以使用新的可用空间: ``` sudo resize2fs [现有LV的名称] ``` 例如,如果现有LV的名称为/dev/vg01/logical_vol,则命令将是: ``` sudo resize2fs /dev/vg01/logical_vol ``` 现有的逻辑卷现在应该扩展到包含新的磁盘空间。 ## 其它 ### linux的磁盘类型和分区简介 linux的磁盘分为IDE和SCSI,目前以后者居多。 #### 1. IDE磁盘的分区:hd+盘号+分区数字 盘号 |-a:基本盘 |-b:基本从属盘 |-c:辅助主盘 |-d:辅助从属盘 分区数字 |-1~4:主分区或扩展分区 |-5+:逻辑分区 例如,hda3表示第一块IDE磁盘的第3个主分区或扩展分区,hdb5表示第二块IDE磁盘的逻辑分区。 #### 2. SCSI磁盘的分区:sd+盘号+分区数字 盘号 |-a:基本盘 |-b:基本从属盘 |-c:辅助主盘 |-d:辅助从属盘 分区数字 |-1~4:主分区或扩展分区 |-5+:逻辑分区 例如,sda1表示第一块SCSI磁盘的第1个主分区,sdc2表示第三块SCSI磁盘的第2个主分区或扩展分区。 ### linux的挂载和卸载 #### 1. 挂载和卸载的概念 挂载类似于windows系统给U盘分配盘符,是将新磁盘跟已经存在的系统目录之间建立联系,让新磁盘"拥有"根目录/下面的某个目录,以便于在命令行中操作它。例如,新添加了一块磁盘分区sdb1,将它挂载到/home/data1目录,则以后操作/home/data1目录就相当于操作sdb1分区。挂载后,/home/data1目录下的子目录和文件也会保存到sdb1分区,而不是原来的分区。 卸载类似于windows退出U盘,切断磁盘分区与目录之间的联系。卸载后,/home/data1目录下的子目录和文件会重新回到原来的分区。 #### 2. 查看系统的挂载情况 lsblk [-l] [-f] 其中,-l表示列表方式显示,-f可以显示分区的uuid。 ![](/media/202109/2021-09-01_183913.png) #### 3. 挂载 mount equipment path 其中,**equipment为设备位置,path为挂载点**。例如,mount /dev/sdb1 /home/dubhlinn。 #### 4. 永久挂载 用上述命令只是临时挂载,重启系统后会失效,要想永久生效,需要改一个配置文件:/etc/fstab,加一行: /dev/sdb /home xfs defaults 0 0 其中,第一项为设备未知,第二项为挂载点,第三项为分区类型,后面固定不变。 #### 5. 卸载 umount equipment umount path 即卸载时既可以写磁盘分区,也可以写挂载点目录。例如umount /home/dubhlinn。 ### 磁盘管理 #### 产看文件系统类型 df -T #### 磁盘和目录使用查看 1. 查询磁盘整体的使用情况 df -h 2. 查询指定目录的使用情况 du [-a] [-c] [-h] [--max-depth=n] path 其中,-a表示包含文件,-c表示显示汇总值,-h表示显示计量单位,--max-depth=n表示统计子目录的深度,path为要查询的目录路径。 3. 查询指定目录下的文件,即以-开头的内容 ls -l [-r] [path] | grep "^-" 其中,-r表示包含子目录下的,path如果不指定则默认为当前目录。 4. 查询指定目录下的子目录,即以d开头的内容 ls -l [-r] [path] | grep "^d" 其中,-r表示包含子目录的子目录,path如果不指定则默认为当前目录。 5. 查询指定目录下的文件数量 ls -l [-r] [path] | grep "^-" | wc -l 其中,-r表示包含子目录下的,path如果不指定则默认为当前目录。 6. 查询指定目录下的子目录数量 ls -l [-r] [path] | grep "^d" | wc -l 其中,-r表示包含子目录的子目录,path如果不指定则默认为当前目录。 7. 以树状结构显示目录下的内容 tree [path] 其中,path为要显示的目录路径,如果不指定默认为当前目录。 ``` df -h #查看每个根路径的分区大小;查看硬盘剩余空间 du -sh [目录名] #返回该目录的大小;查看目录占用空间 du -sm [文件夹] #返回该文件夹总M数 du -h [目录名] #查看指定文件夹下的所有文件大小(包含子文件夹) 查看硬盘的分区 sudo fdisk -l 查看IDE硬盘信息 sudo hdparm -i /dev/hda 查看STAT硬盘信息 sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id ``` 参考: 参考: Linux中磁盘的管理(分区、格式化、挂载)、LVM:https://blog.csdn.net/wangxu_190/article/details/119968080 [linux(centOS7)的基本操作(五) 磁盘、分区、挂载、卸载](https://www.cnblogs.com/dubhlinn/p/11105137.html "linux(centOS7)的基本操作(五) 磁盘、分区、挂载、卸载")
local
2023年11月22日 17:12
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 LocalNetwork
LocalNetwork
是由mrdoc开源
LocalNetwork.cn
修改的在线文档系统,作为个人和小型团队的云笔记、文档和知识库管理工具。
如果此文档给你或你的团队带来了帮助,欢迎支持作者持续投入精力更新和维护!内网文摘 & LocalNetwork
>>>主页
logo
logo
下载Markdown文件
分享
链接
类型
密码
更新密码