硬盘管理(分区,swap,LVM)
DPT:分区表(64)
分区方式:MBR,GPT
MSDOS:硬盘总大小小于2T(15个分区)
1个分区占用16个字节,msdos最多可以分为4个分区。主分区,扩展分区,逻辑分区
hd sd vd
hd hd(IED)
sda1 sd表示硬盘的接口类型(SATA,SAS,SCSI);a代表第一块硬盘 ;1代表第一个分区
sdb2 b代表第二块硬盘,2代表第二个分区
sda5 第5个分区(逻辑分区)
关于大小:B-KB-MB-GB-TB-PB-EB-ZB-YB 单位1024
磁盘分区
fdisk -l //查询所有的存储设备状态(包括分区表)
df -h //查看挂载情况
fdisk 设备文件 //使用fdisk磁盘管理工具来管理磁盘
m 查看帮助
n 添加新的分区
p 显示分区表
d 删除分区
q 不保存并退出
w 保存并退出
t 更改分区的类型编号(type_ID),注意此功能没有实际作用只是区分分区的作用
例:fdisk /dev/vdb
Command (m for help): n //创建新分区
Command action //创建新分区的类型
e extended //“e”代表扩展分区
p primary partition (1-4) //“p”代表主分区 范围(1-4)
p //创建主分区
Partition number (1-4): 1 //分区编号为“1”
First cylinder (1-20805, default 1): //起始柱面,默认是“1”
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-20805, default 20805): +500M
//结束柱面或具体的大小,具体大小需要加上“+”和单位,只有数字代表柱面编号
Command (m for help): p //查看分区表
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x42e92285
Device Boot Start End Blocks Id System
/dev/vdb1 1 1017 512536+ 83 Linux
Command (m for help): n //新建分区
Command action
e extended
p primary partition (1-4)
e //类型为扩展分区
Partition number (1-4): 4
First cylinder (1018-20805, default 1018):
Using default value 1018
Last cylinder, +cylinders or +size{K,M,G} (1018-20805, default 20805): +5G
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l //类型为逻辑分区,只有创建完扩展分区才会出现此选项
First cylinder (1018-11421, default 1018):
Using default value 1018
Last cylinder, +cylinders or +size{K,M,G} (1018-11421, default 11421): +1G
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
没有出现警告提示,就会出现相应的配置文件
[[email protected] ~]# ll /dev/vdb*
brw-rw----. 1 root disk 252, 16 Dec 9 13:45 /dev/vdb
brw-rw----. 1 root disk 252, 17 Dec 9 13:45 /dev/vdb1
brw-rw----. 1 root disk 252, 20 Dec 9 13:45 /dev/vdb4
brw-rw----. 1 root disk 252, 21 Dec 9 13:45 /dev/vdb5
brw-rw----. 1 root disk 252, 22 Dec 9 13:45 /dev/vdb6
如果出现警告提示,没有产生相应的配置文件,需要重启或输入命令来重新生成
partx -a /dev/vdb
使用分区
1.分区,产生分区文件后
2.格式化 mkfs.ext4 /dev/vdb1
3.挂载 mount
卸载分区
1.卸载 umount
2.去分区表里删除
注意:使用命令是临时生效,想永久生效配置文件/etc/fstab
UUID //设备唯一标示符
blkid //查看所有设备的UUID
挂载时可以使用UUID
GPT分区表分区(支持2TB以上的硬盘分区,最多可分区128个)
使用分区工具parted
[[email protected] ~]# parted /dev/vdb
GNU Parted 3.1
Using /dev/vdb
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
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 //将该硬盘分区表改变成gpt
(parted) mkpart primary 0 -1 //将整块磁盘分成一个分区
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? ignore
(parted) print //查看分区表
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 10.7GB 10.7GB primary
(parted)quit //退出
[[email protected] ~]# mkfs.xfs /dev/vdb1 //格式化该分区
meta-data=/dev/vdb1 isize=256 agcount=4, agsize=655298 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=2621191, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
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
[[email protected] ~]# mount /dev/vdb1 /mnt //挂载使用
[[email protected] ~]# df -h //查看
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg--rhel7-root 18G 3.0G 15G 18% /
devtmpfs 488M 0 488M 0% /dev
tmpfs 498M 84K 497M 1% /dev/shm
tmpfs 498M 6.8M 491M 2% /run
tmpfs 498M 0 498M 0% /sys/fs/cgroup
/dev/mapper/vg--rhel7-home 497M 26M 472M 6% /home
/dev/vda1 497M 119M 379M 24% /boot
/dev/vdb1 10G 33M 10G 1% /mnt
swap分区 //虚拟内存分区
1.使用分区的方式
1)创建分区
2)格式化分区 mkswap /dev/vdb1
3)激活swap swapon /dev/vdb1
4)查看swap swapon -s
5)查看内存所有的信息 free -m
2.使用大文件方式
1)创建大文件 dd if=/dev/zero of=/tmp/swap bs=1M count=500
2)格式化大文件 mkswap /tmp/swap
3)激活 swapon /tmp/swap
4)查看swap swapon -s
5)查看内存所有的信息 free -m
磁盘配额
作用:可以限制用户对硬盘的可以空间或最大创建文件的数量,并且还有软/硬限制
软限制:当达到软限制时会提示用户,但允许用户在规定的期限内继续使用
硬限制:当达到硬限制时会提示用户,强制终止用户操作
quotacheck //检测获取磁盘的磁盘配额使用情况(创建,检查和修复磁盘配额)
如果没有文件会产生quota.user和quota.group两个文件
quota 参数 //用于显示用户或组的磁盘配额信息
参数 用户名或组名
-g 列出组的配盘空间显示
quotaon //用于激活linux内核中指定文件系统的配盘配额功能
repquota //以报表的格式输出指定分区,或文件系统的磁盘配额信息
edquota //用于超级用户编辑其他用户的quota配额限制
-u 编辑用户的配额限制
-g 编辑用户组的配额限制
1.创建分区
2.格式化
3.挂载 带选项 -o usrquota,grpquota
4./etc/skel目录下相应的文件复制到家目录中
5.更改家目录的权限,拥有者和所属组
6.关闭selinux setenforce 0
7.检测 quotacheck -cugm /home/student //会在家目录创建两个文件
8.激活磁盘配额 quotaon /home/student !!!想取消磁盘配额时quotaoff //取消激活
9.查看报告 repquota /home/student
10.编辑配额情况 edquota student
11.查看用户的磁盘配额信息 quota student
12.验证
13.如果要取消磁盘配额
[[email protected] ~]# fuser -vm /dev/sdb5(查看用户使用情况,会出现一个对应的pid,kill即可,别把root的删了!)
LVM (逻辑卷管理)
PV VG LV
PV:物理卷 整个磁盘或者磁盘分区
VG:卷组 由一个或多个PV组成
LV:逻辑卷 从卷组中取出一部分空间来使用
分区---PV-----VG-----LV
创建的步骤
1.分区
2.创建PV pvcreate /dev/vdb1 /dev/vdb5 /dev/vdb6
3.创建VG vgcreate vgtest /dev/vdb1 /dev/vdb5 /dev/vdb6
4.创建LV lvcreate -n lvfile -L 1G vgtest
5.格式化LV mkfs.ext4 /dev/vgtest/lvfile
6.挂载
查看
pvs //查看pv
pvdisplay //详细查看pv
vgs //查看vg
vgdisplay //详细查看vg
lvs //查看lv
lvdisplay //详细查看lv
LV存储目录/dev/vgtest/lvfile
/dev/mapper/vgtest-lvfile
扩展LV
首先确定vg够不够
1.vg足够的情况
lvextend /dev/vgtest/lvfile -L +1G //扩展LV
resize2fs /dev/vgtest/lvfile //扩展文件系统
如果时xfs文件系统需要使用xfs_growfs /dev/vgtest/lvfile 来扩展文件系统
2.vg不足的情况
1)添加硬盘
2)创建PV
3)扩展VG vgextend vgtest /dev/vdb3
4)扩展LV lvextend /dev/vgtest/lvfile -L +1G //扩展LV
5)扩展文件系统 resize2fs /dev/vgtest/lvfile //扩展文件系统
缩小LV
注意:rhel7 xfs文件系统不能缩小;挂载的情况下不可缩小
缩小的步骤
1.umount /media
2.检测:e2fsck -f /dev/123/lv123 //检测,总空间,可用空间
3.缩小文件系统:resize2fs /dev/123/lv123 1G //将该LV的文件系统缩小到1G
4.缩小LV:lvresize /dev/123/lv123 -L -2G //将LV空间减少2G
VG的缩小
vgreduce VG的名字 PV的位置 //从VG中取走某个PV(这里如果你只使用一个分区或一个硬盘创建pv,是不可用的)
原文地址:http://blog.51cto.com/13293172/2108018