fdisk,sfdisk,part
fdisk <= 15个分区
fdisk -l [DEVICE]
fdisk [DEVICE]fdisk /dev/sda
交互式命令:
d:删除一个分区
n:新建一个分区
p:显示当前的分区信息
w:保存并退出
q:不保存退出
l:各分区类型所对应的System ID;
83:Linux
82:Linux Swap,交换分区
8e:LVM
fd:Soft Raid
t:修改指定分区的System ID;
# cat /proc/partitions 查看内核识别的分区信息
partprobe [DEVICE]: RHEL5让内核重新读取硬盘分区表
partx -a [PARTITION] DEVICE: RHEL6让内核重新读取硬盘分区表
partx -a /dev/sda4 /dev/sda
下一步:格式化分区,用于创建文件系统
Linux,mkfs 格式化分区
mkfs -t fstyp /dev/partmkfs -t ext4 /dev/sda4
要点:1、文件系统必须被内核支持才能使用,即内核有相应的内核模块,或者已经将之整合进内核
2、要有相应文件系统创建工具,通常是mkfs,fstype
RHEL5:ext3
RHEL6:ext4
mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4 =
mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3
mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2
配置文件:/etc/mke2fs.conf,用户设定默认特性,及各文件系统的特有的特性
mke2fs -t {ext2|ext3|ext4}
-b {1024|2048|4096}:块大小
块大小取决于CPU对内存页框大小的支持,x86系统默认页框大小为4k
-L label:设定卷标
-m N:预留给管理使用的块所占据总体空间的比例:为N%
-r N:预留给管理使用的块的个数:为N
-E:设定文件系统的扩展属性
tune2fs:
-l:显示文件系统超级块信息tune2fs -l /dev/sda4
-L label:重新设定卷标
-m N:调整预留给管理使用的块所占据总体空间的比例:改为N%
-r N:调整预留给管理使用的块的个数:为N
-o:设定挂载默认选项
-O:设定文件系统默认特性
-E:调整文件系统的扩展属性
tune2fs -l DEVICE | grep "Block size":要显示块大小
e2abel:显示或设定卷标:
e2abel DEVICE [Volume_label]
blkid DEVICE:显示设备的UUID及文件系统类型
mount 挂载 mount [-t fstype] DEVICE MOUNT_POINT
-o:用于指定挂载选项,常用的挂载选项
ro:只读挂载
rw:读写,默认即为读写
noatime:关闭 更新 访问时间
auto:是否能够由"mount -a"挂载
defaults:相当于rw,suid,dev,exec,auto,nouser,async,and relatime
sync:同步写入
async:异步写入
dev:是否允许在这个文件系统下使用设备文件
nodev
remount:重新挂载
loop:本地回环设备
-n:挂载文件系统时,不更新/etc/mtab文件
-r:相当于“-o ro”,只读挂载
mount -o remount,other_options DEVICE
mount -o loop,other_options DEVICE MOUNT_POINT用于挂载回环设备
monut -t iso9660 -o loop /root/CentOS-6.6-x86_64-bin-DVD1.iso /mnt/cdrom #把CentOS...挂载到cdrom下
mount [-t fstype] LABEL="卷标" MOUNT_POINT
mount [-t fstype] UUID="UUID" MOUNT_POINT
# mount #用这个命令会显示当前系统挂载的所有设备
umount DEVICE
# umount /dev/sdb3
umount MOUNT_POINT
# umount /media
挂载之后,原有的数据会被隐藏,因此不能挂在到系统常用目录上,将挂载卸载之后,原有的数据才会显示
卸载之时,要确保没有进程正在访问挂载的设备,否则,无法卸载
/etc/fstab:系统开机会自动挂载的文件系统
fuser [MOUNT_POINT]:查看正在访问某挂载点的进程
# fuser /media/
fuser -km [MOUNT_POINT]:强行关闭正在访问此挂载点的进程
# fuser -km /media/
Linux的交换分区:swap
必须是独立分区,独立文件系统
交换分区多大?
科学计算类的服务器:交换内存可以尽可能大,比如为物理内存的2倍
应用程序类的服务器:交换内存尽可能小,比如只给1G
物理内存小于等于2G,swap=memory*2
2G<memory<4G, swap=memory*1.5
memory>4G, swap=4G
如何查看内存大小:
free显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
-m:内存空间大小换算为MB
-g:内存空间大小换算为GB
shared:共享内存
buffer:缓冲
cached:缓存
mkswap DEVICE:创建交换分区
-L label 设定标签
# mkwsap -L NewSwap /dev/sda6
swapon启用交换分区:
swapon DEVICE:启用指定交换分区
# swapon /dev/sda6
swapon -a 启用所有交换分区
swapoff DEVICE 禁用交换分区
swapoff -a
开机自动启用交换分区,可定义于/etc/fstab
DEVICE swapswap defaults 0 0
挂载点:swap
文件系统类型:swap
dumpe2fs:输出ext文件系统信息
-h:显示超级块相关信息
du:disk usage
-s:summary,显示某指定路径下所有文件的大小之和
-h:human-readable
df:disk free
-l:只显示本地文件系统的相关信息
-h:
-P:posix兼容的风格显示
-i:显示inode使用信息
新建硬盘
创建分区
修改分区类型 t8e
才可以创建物理卷pvcreate /dev/sdb{1,2}
创建卷组vgcreate myvg /dev/sdb{1,2}
创建逻辑卷lvcreate -L 10g -n mylv myvg-L 指定大小-n 指定逻辑卷的名称
查看逻辑卷lvs
格式化mkfs.ext4 -L Mydata /dev/myvg/mylv
LVM:Logical Volume
pv:物理卷 vg:卷组 lv:逻辑卷
1、逻辑卷创建
PV-->VG-->LV
pvcreare /dev/sdb5
pvdisplay /dev/sdb5
pvs
vgcreate VGNAME /dev/sdb5 ...
-s PE
vgdisplay
vgs
lvcreate -L SIZE -n -LV_NAME VG_NAME
-l PE的个数
lvdisplay
lvs
逻辑卷的设备文件:/dev/VG_NAME/LV_NAME
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/testvg-mylv
2、扩展VG
首先准备好一个PV
使用vgextend命令即可完成扩展:vgextend VG_NAME /PATH/TO/PV
3、缩减VG
确定要移除的PV
将此PV上的数据转移至其他PV:pvmove /path/to/pv
从卷组中将此PV移除:vgreduce VG_NAME /path/to/pv
4、扩展逻辑卷
确定扩展多大? 5G: --> 8G
确定当前逻辑卷所在的卷组有足够的空闲空间:
扩展:
1、物理边界:lvextend -L [+]SIZE /path/to/pv
2、逻辑边界:resizefs /path/to/device
文件系统检测:
fsck
e2fsck [-t fs_type] [-f] [-p] /path/to/device
5、缩减逻辑卷
确定缩减为多大?前提是:至少能容纳原有的所有数据。
8G --> 3G
缩减:
1、卸载并强行检测文件系统:e2fsck -f
2、逻辑边界:resize2fs /path/to/device SIZE
3、物理边界:lvreduce -L [-]SIZE /path/to/lv
6、快照卷
lvcreate
-s:快照卷
-p r:限制快照卷为只读访问
lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv
7、移除逻辑卷:
lvremove /path/to/lv
8、移除卷组
vgremove /path/to/vg