目录
前言
昨天做了加磁盘操作流程,今天讲命令介绍吧,由于系统安装出了问题,本次基本没有实操
一.分区命令
1.fidsk命令
fdisk - Linux分区表操作工具软件,交互式创建
语法:
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)
选项:
选项 | 作用 |
---|---|
-l | 显示系统中已安装分区表 |
这个命令既可以创建主分区,也可创建扩展与逻辑分区:
[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):2
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+10g
不支持的后缀:“g”。
支持:10^N: KB (千字节), MB (兆字节), GB (吉字节)
2^N: K (约千字节), M (约兆字节), G (约吉字节)
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+10G
分区 2 已设置为 Extended 类型,大小设为 10 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (10489856-31459327,默认为 10489856):+1G
值超出范围。
起始 扇区 (10489856-31459327,默认为 10489856):
将使用默认值 10489856
Last 扇区, +扇区 or +size{K,M,G} (10489856-31459327,默认为 31459327):+1G
分区 5 已设置为 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
磁盘标识符:0x2ea9cbb8
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 31459327 10485760 5 Extended
/dev/sdb5 10489856 12587007 1048576 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
2.parted命令
语法:
parted [options] [device [command [options...].
例:
root@localhost network-scripts]# parted /dev/sdb
GNU Parted 3.2
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free
space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
resizepart NUMBER END resize partition NUMBER
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
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 display the version number and copyright information
of GNU Parted
(parted) mklabel gpt
(parted) mkpart
分区名称? []? p1
文件系统类型? [ext2]? xfs
起始点? 1
结束点? 10G
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:Number Start End Size File system Name 标志
1 1049kB 10.0GB 9999MB xfs p1(parted) q
信息: You may need to update /etc/fstab.[root@localhost network-scripts]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=610304 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=2441216, 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
二.查看与识别命令
2.1lsblk命令
lsblk - list block devices
语法:
lsblk [options] [device...]
2.2 partprobe命令
加载分区命令
语法:
partprobe [-d] [-s] [devices...]
2.3 blkid命令
查看磁盘分区的UUID
三.格式化命令
mkfs命令
用于格式化磁盘分区,生成指定的文件系统
语法:
mkfs [ -V ] [ -t 文件系统类型 ] [ fs-选项 ] 文件系统 [ 块 ]
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
选项:
选项 | 作用 |
---|---|
-t | 文件系统类型 |
-v | 产生冗场输出信息,帮助信息 |
四.挂载命令
挂载源: 磁盘分区或者文件系统
挂载点: 文件系统访问的入口,通常是目录。
3.1、mount命令&swapon命令
mount - mount a filesystem,挂载一个文件系统;临时挂载,重启失效!
swapon:挂载swap文件系统
语法:
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
mount [-fnrsvw] [-o option[,option]...] device|dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
选项:
选项 | 作用 |
---|---|
-t | 指定要挂载的文件系统类型,常见的文件系统类型有ext4、ntfs、vfat等。 |
-o | 指定挂载选项,比如可以指定只读挂载(ro)、允许所有用户挂载(user)、允许执行程序挂载(exec)等。 |
-r | 以只读模式挂载文件系统。 |
-w | 以读写模式挂载文件系统 |
-a | 挂载/etc/fstab文件中定义的所有文件系统。 |
-n | 不重新挂载/etc/fstab文件中定义的文件系统。 |
-o remount | 重新挂载一个已经挂载的文件系统,可以改变挂载选项。 |
-o loop | 挂载一个loop设备上的文件系统。 |
案例
首先是mount的案例
-t
[root@bogon ~]# mount -t xfs /dev/sdb1 /mnt/
[root@bogon ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 1.8G 9.6M 1.8G 1% /run
tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/mapper/rl-root xfs 70G 6.5G 64G 10% /
/dev/mapper/rl-home xfs 126G 925M 125G 1% /home
/dev/sda1 xfs 1014M 273M 742M 27% /boot
tmpfs tmpfs 364M 12K 364M 1% /run/user/42
tmpfs tmpfs 364M 0 364M 0% /run/user/0
/dev/sdb1 xfs 1014M 40M 975M 4% /mnt
-o
[root@bogon ~]# mount -o ro /dev/sdb1 /mnt/
[root@bogon ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 1.8G 9.6M 1.8G 1% /run
tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/mapper/rl-root xfs 70G 6.5G 64G 10% /
/dev/mapper/rl-home xfs 126G 925M 125G 1% /home
/dev/sda1 xfs 1014M 273M 742M 27% /boot
tmpfs tmpfs 364M 12K 364M 1% /run/user/42
tmpfs tmpfs 364M 0 364M 0% /run/user/0
/dev/sdb1 xfs 1014M 256K 1014M 1% /mnt
[root@bogon ~]# cd /mnt/
[root@bogon mnt]# mkdir bbb
mkdir: 无法创建目录 “bbb”: 只读文件系统
首先要生成swap
[root@bogon ~]# umount /dev/sdb1
[root@bogon ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:4B355BFD-9EA8-4687-B8B7-16CB84384F43命令(输入 m 获取帮助):n
分区号 (1-128, 默认 1):
第一个扇区 (34-41943006, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-41943006, 默认 41943006): +1g创建了一个新分区 1,类型为“Linux filesystem”,大小为 1 GiB。
分区 #1 包含一个 xfs 签名。您想移除该签名吗?是[Y]/否[N]:y
写入命令将移除该签名。
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
然后挂载虚拟内存
[root@bogon ~]# mkswap /dev/sdb1
正在设置交换空间版本 1,大小 = 1024 MiB (1073737728 个字节)
无标签,UUID=9d1184ac-2b7f-436b-8ec5-34ebce8e77da
[root@bogon ~]# free -m
total used free shared buff/cache available
Mem: 3633 1291 1068 17 1274 2093
Swap: 4019 0 4019
[root@bogon ~]# swapon /dev/sdb1
[root@bogon ~]# free -m
total used free shared buff/cache available
Mem: 3633 1292 1067 17 1274 2092
Swap: 5043 0 5043
3.2、umount命令&swapoff命令
umount - 卸载文件系统
swapoff-卸载swap文件系统
语法:
umount -a [-nrv] [-t vfstype]
umount 挂资源或者挂载点
选项:
选项 | 作用 |
---|---|
-a | 卸载所有可卸载文件系统 |
同样只演示swapoff
[root@bogon ~]# swapoff /dev/sdb1
[root@bogon ~]# free -m
total used free shared buff/cache available
Mem: 3633 1338 993 17 1302 2035
Swap: 4019 0 4019[root@bogon ~]# swapoff -a
[root@bogon ~]# free -m
total used free shared buff/cache available
Mem: 3633 1337 994 17 1301 2036
Swap: 0 0 0
四.LVM逻辑卷
1、概述
LVM 是 Logical Volume Manager(逻辑卷管理)的简写,它是 Linux 环境下对磁盘分区进行管理的⼀种机制; 安装 Linux 操作系统时遇到的⼀个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空 间; 普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小; 随着 Linux 的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小,即动态调整磁盘容量,从而提高磁盘管理的灵活性。
1.1、运行原理
1.2、LVM 相关概念:
1.PV(Physical Volume):物理卷**
处于 LVM 最底层,可以是物理硬盘或者分区,整个硬盘,或使用fdisk 等⼯具建⽴的普通分区,包许多默认 4MB 大小的 PE(Physical Extent,基本单元)。
2.PE(Physical Extend):物理区域**
PV 中可以用于分配的最小存储单元,可以在创建 PV 的时候制定(默认为 4MB),如 1M, 2M, 4M, 8M, 32M, 64M… 组成同⼀VG 中所有 PV 的 PE大小应该相同。
3.VG(Volume Group):卷组
建立在 PV 之上,可以含有一个到多个 PV,一个或多个物理卷组合而成的整体。
4.LV(Logical Volume):逻辑卷
建立在 VG 之上,相当于原来分区的概念,不过大小可以动态改变。从卷组中分割出的一块空间,用于建立文件 系统。
1.3、挂载流程
2、管理命令
功能 | PV物理卷命令 | VG卷组命令 | LV逻辑卷命令 |
---|---|---|---|
扫描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
查询 | pvdisplay | vgdisplay | lvdisplay |
删除 | pvremove | vgremove | lvremove |
扩容 | vgextend | lvextend | |
缩容 | vgreduce | lvreduce |
3、配置案例
3.1、构建LVM逻辑卷
3.2、扩容LVM逻辑卷
3.3、缩容LVM逻辑卷(不建议)
四.磁盘配额
1、概述
针对用户和组,用于配置用户和组在该磁盘的使用容量限制。
配额类型:
-
usrquota:支持对用户的磁盘配额
-
grpquota:支持对组的磁盘配额
限制类型:
-
软限制:指定一个软性的配额数据值,用户超过这个数据时,系统给出警告信息,可以打破数据值。
-
硬限制:指定一个硬性的配额值,禁止用户超过这个限制。
2、配置命令
2.1、quota命令
语法:
quota [ -guv | q ]
quota [ -uv | q ] user
quota [ -gv | q ] group
选项:
选项 | 作用 |
---|---|
-g | 显示 用户所在组 的 组限额. 可选项(optional). |
-u | 和 缺省情况 一样 |
-v | 显示 文件系统上 的 限额, 即使 没有 占用 空间. |
-q | 简洁的 信息, 只 显示 超出 限额 的 文件系统. |
2.2、xfs_quota命令
语法:
xfs_quota [ -x ] [ -p prog ] [ -c cmd ] ... [ -d project ] ... [ path ... ]
xfs_quota -V
选项:
选项 | 作用 |
---|---|
-x | 启用专家模式。所有允许对配额系统进行修改的管理命令(请参阅下面的“管理员命令”部分)仅在专家模式下可用。 |
-c | cmd xfs_quota命令可以交互式运行(默认情况),也可以作为命令行参数运行。可以给出多个-c参数。命令按照给定的顺序运行,然后程序退出。 |
3、配置案例
3.1、xfs配额
1、挂载并启用配额
mount -o usrquota,grpquota /挂载磁盘 /挂载点
永久挂载参数如下:
/dev/sdb1 /mail xfs defaults,usrquota,grpquota 0 0
2、编辑用户配额
xfs_quota -x -c 'limit -u bsoft:30M bhard:50M isft:3 ihard:5 用户名' /挂载目录
3、也可以针对组编辑配额
xfs_quota -x -c 'limit -g bsoft:30M bhard:50M isft:3 ihard:5 组名' /挂载目录
3.2、ext4配额(了解)
1、挂载
mount -o defaults,usrquota,grpquota /挂载磁盘 /挂载点
永久挂载参数如下:
/dev/sdb1 /mail ext4 defaults,usrquota,grpquota,defaults 0 0
2、生成配额文件
quotacheck /挂载点
3、启用配额;关闭配额命令用quotaoff
quotaon -ugv /挂载点
4、针对用户配额
edquota -u 用户名
也可以针对组做配额: edquota -g 组名
5、修改配置文件格式如下:
/dev/sdd1 0 30M 50M 0 8 10
五、磁盘检测与修复
1、fsck命令
fsck - 检查并修复Linux文件系统
语法:
fsck [ -sACVRTNP ] [ -t fstype ] [filesys ... ] [--] [ fs-specific-options ]
选项:
选项 | 作用 |
---|---|
-y | 检查文件系统并进行尝试修复 |
案例:
fsck.ext4 -y /dev/sdb4
2、xfs_repair命令
语法:
xfs_repair [options] device
案例:
xfs_repair -n -v /dev/sdb1
3、badblocks命令
badblocks - 查询设备的坏区块
语法:
badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] device [ blocks-count ] [ start-block
结语
由于安装问题,本次没有实例,之后搞好后我会尽快补上