RHCE实验16:storage management存储设备管理
实验一:添加一个新的EXT4文件系统:(未使用的磁盘,虚拟机添加1GB磁盘此处省略)
1.发现设备:
fdisk -l #假设发现的设备为sdb
fdisk -l /dev/sdb #可以单独查看上一部新发现设备的磁盘信息
2.分区操作:
fdisk /dev/sdb #此处以柱面方式分区,那么查看也要以柱面方式查看fdisk -l /dev/sdb
n #新增分区
p #主分区输入p,扩展分区输入e(在扩展基础上划分逻辑分区输入l)
1 #编号开始为1,即sdb1,一定要按照顺序划分
回车默认 #开始扇区数,建议回车即可
+300M #结束扇区数,建议输入+300M大小的方式划分,一定输入+,单位K、M、G w #输入w,保存并且退出
分区完毕后,可以执行ll /dev/sd* ,查看是否发现sdb1分区,如未发现,执行partprobe
3.格式化分区:
mkfs.ext4 /dev/sdb1
4.为新分区设置卷标(可选操作,建议执行):
e2label /dev/sdb1 #查看卷标
e2label /dev/sdb1 mynewpart #为sdb1分区设置卷标为mynewpart
############第三步和第四步可以合并为如下命令############
mkfs.ext4 -L mynewpart /dev/sdb1
5.设置新增分区开机自动挂载:
方法a:
vim /etc/fstab #在最后一行添加如下内容
/dev/sdb1 /mnt/newpart ext4 defaults 0 0
方法b:
vim /etc/fstab #在最后一行添加如下内容
LABEL=mynewpart /mnt/newpart ext4 defaults 0 0
############方法a和方法b区别########################
服务器自带n块网卡,本次启动有可能第一个插槽的是sdb1,下次启动是随机的,不一定叫做sdb1了,所以不建议大家使用方法a物理方式挂载,建议使用逻辑挂载方法b或者后面介绍的UUID挂载方式
6.创建挂载点:
mkdir /mnt/newpart
7.挂载文件系统
###手动挂载如下:
mount /dev/sdb1 /mnt/newpart
mount LABEL=mynewpart /mnt/newpart
由于已经写入/etc/fstab文件,所以可以执行以下命令,把fstab未挂载的重新挂一遍
mount -a
实验二:在使用的磁盘上,再新建一个vfat分区
1.发现设备:
fdisk -l #假设发现的设备为sdb
fdisk -l /dev/sdb #可以单独查看上一部新发现设备的磁盘信息
2.分区操作:
fdisk -cu /dev/sdb #此处以扇区方式分区,那么查看也要以扇区方式查看fdisk -cul /dev/sdb
n #新增分区
p #主分区输入p,扩展分区输入e(在扩展基础上划分逻辑分区输入l)
2 #编号开始为1,即sdb1,一定要按照顺序划分
回车默认 #开始扇区数,建议回车即可
+100M #结束扇区数,建议输入+300M大小的方式划分,一定输入+,单位K、M、G
l #查看linux支持的文件系统id,正常ext4文件系统为83
t #更改文件系统id为vfat格式的
2 #输入分区编号
b #vfat文件系统id为b
p #打印当前文件系统,确认是否ok
w #输入w,保存并且退出
分区完毕后,可以执行ll /dev/sd* ,查看是否发现sdb2分区,此处发现失败的。
RHEL6.0操作系统解决办法:
partx -a /dev/sdb #适用于新增分区
partx -d /dev/sdb #适用于删除分区
partx -d /dev/sdb;partx -a /dev/sdb #适用于修改分区,如把分区从100M修改成500M
如果嫌麻烦,亲可以reboot就可以了。
RHEL5.0操作系统解决办法
partprobe即可
3-4.格式化分区,并设置卷标:(3和4合并了)
mkfs.vfat -n myfat /dev/sdb2
5.设置开机自动挂载分区:
vim /etc/fstab #在最后一行添加如下内容
LABEL=myfat /mnt/fat vfat defaults 0 0
6.创建挂载点:
mkdir /mnt/fat
7.挂载新文件系统
mount -a
实验三:mount命令挂载、卸载、与-o选项
mount挂载:
mount /dev/sdb1 /mnt/newpart #以默认读写等参数挂载文件系统
查看文件系统状态:
df -Th #查看已挂载的文件系统,h是逢M则按M显示,逢G则按照G显示,T是显示文件系统类型,比如EXT4
-o选项
mount -o remount,ro /mnt/newpart #已只读方式重新挂载,在重新挂载的期间/mnt/newpart是原子状态,任何人均不可往里进行数据交换,所有占用此目录的进程均挂起状态,保证数据完整性
mount -t iso9660 -o loop /home/rhel6.2-i386.iso /mnt/dvd #此方法为把iso镜像以虚拟的状态挂载到/mnt/dvd目录内
umount卸载(以下两种方法均可):
umount /dev/sdb1 #umount 设备名
umount /mnt/newpart #umount 入口(挂在点)
挂载点占用状态下,如下卸载?
a. 打开另外一个termina的tab页,进入到挂载点,模拟占用状态
cd /mnt/newpart
b. 在当前tab页,执行如下命令
fuser -av /mnt/newpart #会获取到占用进程的pid号
kill pid
kill -9 pid #通过kill杀掉获取到的pid号即可
c. 或者执行fuser -km /mnt/newpart #查询到占用程序并直接kill调,生产环境切勿操作
d. 通常有些隐藏的服务程序,我们通过fuser是查询不到的,大家可以研究下lsof,此处省略
实验四:查询卷标或者UUID
e2label /dev/sdb1
e2label /dev/sdb1 mynewpart #设置卷标
findfs LABEL=mynewpart #查询卷标为mynewpart对应的物理分区号,如/dev/sdb1
blkid #查询当前系统所有文件系统的UUID,建议使用此种方式挂载实验
实验五:添加一个新的分区提供给增加虚拟内存
1.添加分区
同实验一,再添加一个200M的分区的时候,把分区的id改成swap分区类型,即82
partx -a
2.格式化分区
mkswap -L myswap /dev/sdb3
3.开机自启动
vim /etc/fstab
LABEL=myswap swap swap defaults 0 0
free -m查看下当前swap
4.启用新增交换分区
swapon -a #启用所有swap分区
swapon /dev/sdb3 #启用单一sdb3 swap分区
swapoff /dev/sdb3 #关闭单一sdb3 swap分区
swapoff -a #关闭所有交换分区,慎用
5. free -m #验证交换内存是否增加
实验六:在本地磁盘生成一个文件,提供给增加swap
1.生成一个100M的交换文件
mkdir /opt
dd if=/dev/zero of=/opt/myswapfile bs=100M count=1
2.格式化生成的交换文件
mkswap -L myswapfile /opt/myswapfile
3.开机自启动
vim /etc/fstab
/opt/myswapfile swap swap defaults 0 0
free -m #查看下当前swap
4.启用新增交换分区
swapon -a #启用所有swap分区
5. free -m #验证交换内存是否增加