磁盘管理
管理分区
parted命令 高级分区操作
用法:
??parted [选项]... [设备 [命令 [参数]...]...]
??parted /dev/sdb mklabel gpt|msdos
??parted /dev/sdb print
??parted /dev/sdb mkpart primary 1 200 (默认M)
??parted /dev/sdb rm 1
??parted –l 列出分区信息
分区工具
- gdisk /dev/sdb 类fdisk 的GPT分区工具
- fdisk -l [-u] [device...] 查看分区
- fdisk /dev/sdb 管理分区
- 子命令:
??p 分区列表
??t 更改分区类型
??n 创建新分区
??d 删除分区
??v 校验分区
??u 转换单位
??w 保存并退出
??q 不保存并退出
同步分区表
- 查看内核是否已经识别新的分区
?cat /proc/partations
- centos6通知内核重新读取硬盘分区表
新增分区用
?partx -a /dev/DEVICE
?kpartx -a /dev/DEVICE -f: force
删除分区用
?partx -d --nr M-N /dev/DEVICE
- CentOS 5,7: 使用partprobe ?partprobe [/dev/DEVICE]
文件系统类型
- ?ext2(Extended file system) :适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区
- ?ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复。它通常被用作通用的文件系统
- ?ext4:是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升
- ?xfs:SGI,支持最大8EB的文件系统
- ?btrfs(Oracle),reiserfs,jfs(AIX),swap
- 光盘:iso9660
文件系统分类
- 根据其是否支持"journal"功能:
?日志型文件系统: ext3,ext4,xfs,...
?非日志型文件系统: ext2,vfat
- 文件系统的组成部分:
?内核中的模块:ext4,vfat
?用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat
创建文件系统
- mkfs命令:
(1) mkfs.FS_TYPE /dev/DEVICE
?ext4
?xfs
?btrfs
?vfat
(2) mkfs -t FS_TYPE /dev/DEVICE
?-L ‘LABEL‘ 设定卷标
创建ext文件系统
- mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4} 指定文件系统类型
-b {1024|2048|4096} 指定块大小
-L ‘LABEL’ 设置卷标
-j 相当于 -t ext3
?mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i # 为数据空间中每多少个字节创建一个inode;不应该小于block大小
-N # 指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128---4096
-m # 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...] 启用指定特性
-O ^FEATURE 关闭指定特性
用mount命令挂载文件系统
◆ 挂载方法:mount DEVICE MOUNT_POINT
◆ mount:通过查看/etc/mtab文件显示当前已挂载的所有设备
◆ mount [-f nrsvw] [-t vfstype] [-o options] device dir
?device:指明要挂载的设备; ?(1) 设备文件:例如/dev/sda5
?(2) 卷标:-L ‘LABEL‘,例如 -L ‘MYDATA‘
?(3) UUID,-U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
?(4) 伪文件系统名称:proc,sysfs,devtmpfs,configfs
?dir:挂载点
?事先存在,建议使用空目录
?进程正在使用中的设备无法被卸载
◆ 常用命令选项
?-t vsftype 指定要挂载的设备上的文件系统类型
?-r readonly,只读挂载
?-w read and write,读写挂载
?-n 不更新/etc/mtab,mount不可见
?-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
?-L ‘LABEL‘ 以卷标指定挂载设备
?-U ‘UUID‘ 以UUID指定要挂载的设备
?-B,--bind 绑定目录到另一个目录上
?查看内核追踪到的已挂载的所有设备
??cat /proc/mounts
◆ 卸载命令
- 查看挂载情况
?findmnt MOUNT_POINT|device
- 查看正在访问指定文件系统的进程
?lsof MOUNT_POINT
?fuser -v MOUNT_POINT
- 终止所有在正访问指定的文件系统的进程
?fuser -km MOUNT_POINT
- 卸载
?umount DEVICE
?umount MOUNT_POINT
工具dd
◆ dd命令:转换并复制文件
◆ 用法:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#
?if=file 从所命名文件读取而不是从标准输入
?of=file 写到所命名的文件而不是到标准输出
?ibs=size 一次读size个byte
?obs=size 一次写size个byte ?bs=size block size,指定块大小(既是是ibs也是obs)
?cbs=size 一次转化size个byte
?skip=blocks 从开头忽略blocks个ibs大小的块
?seek=blocks 从开头忽略blocks个obs大小的块
?count=n 复制n个bs
RAID
RAID级别
?RAID-0:条带卷,strip
?RAID-1:镜像卷,mirror
?RAID-2
?..
?RAID-5
?RAID-6
?RAID-10
?RAID-01
逻辑卷管理器
pv管理工具
◆ 显示pv信息
?pvs:简要pv信息显示
?pvdisplay:列出详细pv信息
◆ 创建pv
?pvcreate /dev/DEVICE
◆ 删除pv
?pvremove /dev/DEVICE
vg管理工具
◆ 显示卷组
?vgs
?vgdisplay
◆ 创建卷组
?vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [物理设备路径]
◆ 管理卷组
?vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
?vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
◆ 删除卷组
?先做pvmove,再做vgremove
lv管理工具
显示逻辑卷
?lvs
?Lvdisplay
◆ 创建逻辑卷
?lvcreate -L #[mMgGtT] -n NAME VolumeGroup
?lvcreate -l 60%VG -n mylv testvg
?lvcreate -l 100%FREE -n yourlv testvg
◆ 删除逻辑卷
?lvremove /dev/VG_NAME/LV_NAME
◆ 重设文件系统大小
?fsadm [options] resize device [new_size[BKMGTEP]]
?resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
?xfs_growfs /mountpoint
创建逻辑卷步骤:
1.硬盘分区 (用“t”创建8e标识)fdisk
2.创建物理卷
?pvcreate /dev/sd{b1,c} b1:分区 c:整块硬盘
3.物理卷加入卷组,创建卷组名字 ?vgcreate -s 16M 卷组名字 物理卷名字(-s 16M:设置PE单位为16M)
?blkid 查看分区UID,TYPE="LVM2_member"为逻辑卷
4.将卷组分出空间:
?lvcreate -n name (-l个数 -L容量 100%FREE将所有空间都用光) 物理卷组名字
5.创建文件系统
?mkfs.xfs (dev/vg0 物理卷名/逻辑卷名)
6.挂载:
?mount /dev/vg0/mysql(逻辑卷路径) /data/mysql(挂载点)
6.5 永久挂载
?vim /etc/fstab
?写入blkid中逻辑卷的UUID /data/mysql xfs defaults 0 0
?试着在文件夹中建数据:
cd /data/mysql/ dd if=/dev/zero of=f1 bs=1M count=1024
在线扩展逻辑卷(处于挂载状态可以直接扩展)
?lvextend -l +PE个数/+100%FREE -L +容量 /dev/vg0/mysql
-
扩展逻辑卷:
xfs_growfs /data/mysql/(挂载点)
扩展ext文件系统:resize2fs /dev/vg0/mysql(逻辑卷路径)
合并成一条: lvextend -L +1G -r /dev/vg0/mysql
-
缩减逻辑卷(必须离线缩减) xfs不能缩减1.取消挂载 umount 逻辑卷路径2.缩减文件系统:2.1 e2fsck -f /dev/vg0/log (缩减到1G) 2.2 resize2fs /dev/vg0/log 1G 检查文件系统完整性3.缩减逻辑卷:?lvreduce -L 1G /dev/vg0/log(缩减前先给文件做备份) 4.挂载 mount5.df -hT (T显示type类型)