磁盘和文件系统管理
一 磁盘管理及分区
大多数linux系统中自带fdisk磁盘管理工具
1 检测并确认新硬盘
fdisk命令
格式:fdisk -l [磁盘设备]
: fdisk -l
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 7832 62806117+ 8e Linux LVM
Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table 新磁盘没有分区表
2 规划硬盘中的分区
fdisk命令
用途:在交互式的操作环境中管理磁盘分区
格式:fdisk [磁盘设备]
交互模式中的常用指令
m:查看操作指令的帮助信息
p:列表查看分区信息
n:新建分区
d:删除分区
t:变更分区类型
w:保存分区设置并退出
q:放弃分区设置并退出
1)新建主分区
: fdisk /dev/sdb
:p 查看分区情况
:n 新建分区
Command action 分区类型
e extended 扩展分区
p primary partition (1-4) 主分区
:p 新建主分区
Partition number (1-4): 1 选择主分区的编号(只有四个主分区)
First cylinder (1-2610, default 1): 起始柱面(默认回车)
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +10G 直接分配大小
:p 再查看分区情况
2)新建扩展分区和逻辑分区
A)扩展分区
: fdisk /dev/sdb
:p 查看分区情况
:n
Command action
e extended
p primary partition (1-4)
:e
Partition number (1-4): 4 选择4作为扩展分区的编号
First cylinder (1218-2610, default 1218): 默认即可(从第一主分区的结束柱面开始)
Last cylinder or +size or +sizeM or +sizeK (1218-2610, default 2610): 默认(剩余容量全部分配)
B)逻辑分区
: fdisk /dev/sdb
:p 查看分区情况
:n
Command action
l logical (5 or over) 逻辑分区
p primary partition (1-4)
:l (第一个逻辑分区默认编号为5)
First cylinder (1218-2610, default 1218):
Last cylinder or +size or +sizeM or +sizeK (1218-2610, default 2610): +5G
C)删除分区
: fdisk /dev/sdb
:p 查看分区情况
:d 进入删除操作
Partition number (1-6): 5 选择要删除的分区
D)更改分区类型
Command (m for help): t 进入变更操作
Partition number (1-6): 5 选择要改变分区
Hex code (type L to list codes): 82 改变后的文件系统ID
E)保存并退出
:w 保存并退出
:q 不保存退出
F)让系统重新检测分区表信息
: partprobe /dev/sdb 或重启系统
二 文件系统的管理
使用fdisk工具对硬盘建立分区后还需要对分区进行格式化并挂在到系统指定的目录,然后才能使用。
1 创建文件系统(也叫格式化分区的过程)
1)mkfs命令
用途:Make Filesystem,创建文件系统(格式化)
格式:mkfs -t 文件系统类型 分区设备
A)创建EXT3文件系统
:mkfs -t ext3 /dev/sdb1 或 mkfs.ext3 /dev/sdb1
B)创建FAT32文件系统
:mkfs -t vfat -F 32 /dev/sdb5 或 mkfs.vfat -F 32 /dev/sdb5
2)mkswap命令
用途:make Swap,创建交换文件系统(相当于虚拟内存)
格式:mkswap 分区设备
:free -m 查看内存大小
:mkswap /dev/sdb6 将sdb6格式化为swap分区(sdb6的ID必须为82)
:swapon /dev/sdb6 启用虚拟内存 swapoff /dev/sdb6 停用
三 挂载、卸载文件系统
1 挂载文件系统(一个设备可以挂载到多个目录)
mount命令
用途:挂载文件系统、ISO镜像到指定文件夹
格式:mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
:mount /dev/sdb1 /dev/db/ 挂载分区到空目录下
:mount /dev/sdc1 /media/usbdisk 挂载USB存储设备(识别为SCSI设备)
2 卸载文件系统
umount命令
用途:卸载已挂载的文件系统
格式:umount 存储设备位置
umount 挂载点目录
3 设置文件系统的自动挂载
/etc/fstab配置文件
包含了需要开机后自动挂载的文件系统记录
:vim etc/fstab
/dev/sdb6 swap swap defaults 0 0
第一字段:设备名
第二字段:挂载目录
第三字段:文件系统类型
第四字段:挂载后使用权限,默认即可
第五字段:是否需要备份0为不备份
第六字段:0表示不检查磁盘检测顺序
4 查看磁盘使用情况
df命令
格式:df [选项] [文件]
:df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00 ext3 6.7G 4.1G 2.3G 65% /
/dev/sda1 ext3 99M 11M 83M 12% /boot
tmpfs tmpfs 252M 0 252M 0% /dev/shm
/dev/sdb1 ext3 19G 173M 18G 1% /mailbox
四 LVM逻辑卷管理
1 LVM概述
Logical Volume Manager,逻辑卷管理,是linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上、文件系统之下的一个逻辑层
作用:动态调整磁盘容量,从而提高磁盘管理的灵活性
需要注意:/boot分区用于存放引导文件,不能基于LVM创建
图形界面管理工具:system-config-lvm
2 LVM机制的基本概念
PE(Physical Extent,基本单元)
最小的存储单元,大小为4M
PV(Physical Volume,物理卷)
整个硬盘,或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE(Physical Extent,基本单元)
VG(Volume Group,卷组)
一个或多个物理卷组合而成的整体
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,用于建立文件系统
3 LVM的管理命令
主要命令
功能 物理卷管理 卷组管理 逻辑卷管理
Scan 扫描 pvscan vgscan lvscan
Create 建立 pvcreate vgcreate lvcreate
Display 显示 pvdisplay vgdisplay lvdisplay
Remove 删除 pvremove vgremove lvremove
Extend 扩展 vgextend lvextend
Reduce 减少 vgreduce lvreduce
主要命令的语法
pvcreate 设备名
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
1)PV物理卷管理
A)显示物理卷
:pvscan 扫描系统中的所有物理卷(默认sdb2一个)
B)创建物理卷
:pvcreate /dev/sdb1 /dev/sdb5 将指定分区转换为物理卷
C)查看物理卷
:pvdisplay 显示所有物理卷的详细信息
D)取消物理卷
:pvremove /dev/sdb1 将物理卷转换为基本磁盘
2)VG卷组管理
A)显示卷组
:vgscan 扫描系统中的卷组信息
B)创建卷组
:vgcreate juanzu /dev/sdb1 /dev/sdb5 将一个或多个物理卷创建成名为juanzu的卷组
C)查看卷组
:vgdisplay 查看所有卷组详细信息
D)删除卷组
:vgremove juanzu 删除指定卷组(确保卷组中没有正在使用的逻辑卷)
E)扩展卷组
:vgextend juanzu /dev/sdb6 将指定物理卷添加进名为juanzu的卷组
3)LV逻辑卷管理
A)显示逻辑卷
:lvscan
B)创建逻辑卷
:lvcreate -L 10G -n luojijuan juanzu 从指定的卷组中分配10G给名为luojijuan的逻辑卷
C)查看逻辑卷
:lvdisplay
D)扩容逻辑卷
:lvextend -L +1G /dev/juanzu/luojijuan 指定大小、指定逻辑卷和其所在卷组
:resize2fs /dev/juanzu/luojijuan 让系统重新识别
E)删除逻辑卷(删除前备份数据)
:lvremove /dev/juanzu/luojijuan
五 设置磁盘配额
1 磁盘配额概述
1)实现磁盘限额的条件
A)需要Linux内核支持
:uname 查看内核版本
B)安装quota软件包
:rpm -qa quota 查看是否安装
2)Linux磁盘限额的特点
A)作用范围:针对指定的文件系统(分区)
B)限制对象:用户帐号、组帐号
C)限制类型:
磁盘容量(默认单位为KB)
文件数量 (通过限制i节点数量来实现对文件数量的限制)
D)限制方法:
软限制:默认七天内允许超过这个限制,系统警告可继续写入
硬限制:绝对限制
2 磁盘配额管理
1)以支持配额功能的方式挂载文件系统
A)格式化逻辑卷
:mkfs -t ext3 /dev/juanzu/luojijuan
B)挂载文件系统
:mkdir cipan 创建挂载目录
:chmod 777 /cipan 给目录相应的权限
:mount -o remount,usrquota,grpquota /dev/juanzu/luojijuan 挂载(之前挂载过的可以加remount重新挂载)
C)设置开机自动挂载
:vim /etc/fstab
/dev/juanzu/luojijuan /cipan ext3 defaults,usrquota,grpquota 0 0
2)检测磁盘配额并创建配额文件
A)使用quotacheck命令创建配额文件
格式:quotacheck -ugcv 文件系统 给指定文件系统创建配额文件
quotacheck -augcv 给所有支持配额的文件系统创建配额文件
参数:
-u、-g:检测用户、组配额
-c:创建配额数据文件
-v:显示执行过程信息
-a:检测所有可用的分区
:quotacheck -augcv (一下提示表示成功)
quotacheck: Scanning /dev/mapper/juanzu-luojijuan [/cipan] quotacheck: Cannot stat old user quota file: 没有那个文件或目录
quotacheck: Cannot stat old group quota file: 没有那个文件或目录
quotacheck: Cannot stat old user quota file: 没有那个文件或目录
quotacheck: Cannot stat old group quota file: 没有那个文件或目录
done
quotacheck: Checked 3 directories and 2 files
quotacheck: Old file not found.
quotacheck: Old file not found.
B)编辑用户和组账号的配额设置
格式: edquota -u 用户名
edquota -g 组名
:edquota -u lisi
Filesystem(默认单位为KB和个)blocks soft hard inodes soft hard
/dev/mapper/juanzu-luojijuan 0 0 0 0 0 0
作用范围 已用容量 软限制容量 硬限制容量 已用节点 软限制节点 硬限制节点
C)设置软限制的默认期限
:edquota -t
3)启动文件系统的配额功能
:quotaon -ugv /cipan 启用
:quotaoff -ugv /cipan 关闭
3 查看用户或分区的配额使用情况
A)侧重用户、组帐号角度:使用quota命令
quota -u 用户名
quota -g 组名
B)侧重文件系统角度:使用repquota
repquota 文件系统 查看指定文件系统
repquota -a 查看所有