redhat版 Linux磁盘与文件系统、逻辑卷管理LVM、进程管理及报错问题
建立硬盘分区,pvcreate 时报错:"Can topen /dev/sdb1 exclusively.Mounted filesystem?" ;磁盘分区报错:设备或资源忙
VMware虚拟机(Linux)如何找出系统中磁盘设备对应的硬盘
第六章 磁盘与文件系统管理
磁盘的识别与分区-fdisk
磁盘的组成
https://www.cnblogs.com/jswang/p/9071847.html
磁盘分区表示
主引导记录(MBR)
硬盘分区
分区类型
最合理的分区方式
主分区在前,扩展分区在后,然后在扩展分区中划分逻辑分区
主分区+扩展分区个数最多四个
硬盘和分区的结构
首先向学员讲解硬盘分区的基本概念,对比讲解主分区、扩展分区和逻辑分区功能上的区别
1. PC主机中的第1个IDE硬盘表示为had
2. IDE硬盘中的4个主分区可表示为hda1至hda4
3. 扩展分区只用于容纳逻辑分区,并不建立文件系统,因此也不能直接向扩展分区中保存文件和目录
4. 逻辑分区的编号始终从5开始,因为1~4已经预留给主分区和扩展分区使用
请思考,Linux系统中的光盘设备文件应该如何表示?(/dev/hdc)
确认系统的磁盘设备-fdisk
首先可通过案例场景(系统磁盘空间不足,需要增加新硬盘)而引出fdisk命令 units:16065:255*63,一个柱面上的扇区数量,,又因为一个扇区512字节,16065*512,表示一个柱面的大小。所以一个磁盘的大小=一个柱面大小*柱面的总数
新挂接的硬盘可能未包含任何分区( Disk /dev/sdb doesn't contain a valid partition table )
对于已有的分区,将通过列表的方式输出以下信息:
Device:分区的设备文件名称。
Boot:是否是引导分区,是则有“*”标识。
Start:该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。
Id:分区类型的ID标记号,对于EXT3分区为83,LVM分区为8e。
System:文件系统
注意分区类型的概念在windows中是没有的,分区类型与文件系统类型应一致,这样管理磁盘文件系统时才不容易引起混乱。
/dev/mapper/Volume-lv_root的意思是说你有一个VG (volume group卷组)叫作Volume, 这个Volume里面有一个LV(逻辑卷)叫作lv_root。其实这个/dev/mapper/Volume-lv_root文件是一个连接文件,是连接到/dev/dm-0的,你可以用命令ll /dev/mapper/Volume-lv_root进行查看。
规划硬盘中的分区fdisk
练习:规划硬盘中的分区
分区创建完成,不会立刻生效,需要系统重新启动才可以生效。如果不想启动系统,partx –a /dev/sdb 命令生效。
partprobe /dev/sdb
fdisk -t参数,改变分区类型,82为swp
建立和管理文件系统
文件系统类型
mkfs-mkswap
在Linux系统中,SWAP分区的作用类似于Windows系统中“虚拟内存”,可以在一定程度上缓解物理内存不足的情况
如果系统没有SWAP交换分区,或者现有交换分区的容量不够用,可以通过mkswap命令创建交换文件系统以增加虚拟内存
交换分区空间的启用、停用需要使用swapon、swapoff命令,free命令可以查看物理内存、交换空间的使用情况
“swapon -s”命令也可查看交换分区的使用情况
文件系统的挂载
挂载mount、卸载unmount文件系统
eject命令需要光盘驱动器硬件的支持,对大多数PC上的光盘驱动器有效,对笔记本电脑上的光盘驱动器可能无效
-o <选项> 指定挂载文件系统时的选项,有些也可写到在/etc/fstab中
loop 挂载“回旋设备”以及“ISO镜像文件”
卸载文件系统
挂载分区/dev/sdb5 到/mnt/kk目录中。
以只读方式挂载/dev/sdb7分区到/mnt/hh目录中。
Mkdir /mnt/kk
Mount /dev/sdb5 /mnt/kk
Mkdir /mnt/hh
Mount –o ro /dev/sdb7 /mnt/hh
创建 /mnt/hh/a
设置启动载入(永久挂载文件系统)
关机时,会卸载所有的已经挂载的文件系统。开机后得自己手动重新挂载。希望能够自动挂载所有需要的文件系统
自动挂载
Red hat 有一个文件,专门用来设置文件系统的配置,每次开机,系统都会自动依照这个配置文件中的配置管理所有的文件系统。
系统中的“/etc/fstab”文件可以视为mount命令的配置文件
分别介绍配置记录中6个字段的含义,重点强调前3个字段(决定挂载的关键部分),后面的3个字段简单介绍即可
第四字段:挂载参数,即mount命令“-o”选项后可使用的参数,如defaults、rw等
第五字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0不进行检查,1优先,2其次。对于根分区应设为1,其它分区设为2
在/etc/fstab文件中正确设置了相应分区的自动挂载记录以后,手动挂载、卸载该分区时,仅需指定设备名、挂载点中的任意一个作为参数即可,例如,执行“mount /dev/sdb1”或者“umount /mailbox”都可以完成卸载
mount命令不带任何选项、参数时,可以显示当前系统中已经挂载的文件系统信息
Mount –a 自动按/etc/fstab的记录加载文件系统。
挂载文件系统(例子)
练习:磁盘的分区与挂载
#fdisk –l
(显示所有分区信息)
#fdisk /dev/sdb
(假设U盘为/dev/sdb)
P n +400M p
Mkfs –t ext4 /dev/sdb1
#vim /etc/fstab (加入列:/dev/sdb1 /data ext4 defaults 0 0)
二、用文件作为Swap分区
1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。# dd if=/dev/zero of=/root/swapfile bs=1M count=1024
2.格式化为交换分区文件:# mkswap /root/swapfile #建立swap的文件系统
3.启用交换分区文件:# swapon /root/swapfile #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行:/root/swapfile swap swap defaults 0 0
查看swap分区的大小)
#free
(查看充当swap分区的物理分区信息)
#cat /proc/swaps
(或swapon -s) (计算swap差值)
#expr 512 - 原分区大小(减号前后有空格)
(用fdisk命令创建差值大小的分区)
#fdisk /dev/sdb5
(将分区格式化成swap)
#mkswap /dev/sdb5
(实现开机挂载)
#vim /etc/fstab (加入列:/dev/sdb5 swap swap defaults 0 0)
(让分区生效)
#swapon /dev/sdb5
参考答案:/ 和swap 。
swap交换分区:是Linux暂时存储数据的交换分区。
/根分区:该分区下存放各种文件。
第七章 逻辑卷管理LVM
LVM概述
LVM(Logical Volume Manager)逻辑卷管理器,最早应用在IBM AIX系统上。
它的主要作用是动态分配磁盘分区及调整磁盘分区大小,并且可以让多个分区或者物理硬盘作为一个逻辑卷(相当于一个逻辑硬盘)来使用。
这种机制可以让磁盘分区容量划分变得很灵活。
可以在白板上板书进行示意:
1)物理卷,以/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1 为例
2)卷组,画一个矩形框圈住 /dev/sdb1、/dev/sdc1、/dev/sdd1 这3个物理卷作为一个整体,即示意卷组
3)逻辑卷,擦去矩形框内的3个物理卷名(表示磁盘底层布局是透明的,划分逻辑卷时无需知道具体由哪些物理卷组成),从卷组矩形框划出2块小空间,作为2个独立的逻辑卷
PV(Physical Volume) 物理卷:物理卷处于LVM的最底层,可以是整个物理磁盘,也可以是硬盘中的分区。
VG(Volume Group) 卷组:可以看成单独的逻辑磁盘,建立在PV之上,是PV的组合。一个卷组中至少要包括一个PV,在卷组建立之后可以动态的添加PV到卷组中。
LV(Logical Volume) 逻辑卷:相当于物理分区的/dev/hdaX。逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展或缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
PE(Physical Extent) 物理区域:物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。当多个PV组成一个VG时,LVM会在所有PV上做类似格式化的动作,将每个PV切成一块块的空间,这一块块的空间就称为PE, 通常是4MB。
LVM的管理命令
使用命令行工具实现 LVM存储
Mount –a安装/etc/fstab文件中描述的所有文件系统。
建立逻辑卷步骤:
1、硬盘;2、分区,格式8e;3、创建pv,如果提示分区找不到,partprobe /dev/sdb;4、创建vg,vg1;5、创建lv, lvcreate -L 400M -n mymail /dev/vg1;6、格式化lv;7、mount;8、建立文件或拷贝文件,模拟数据产生;9、建立快照,和逻辑卷一样大,增量备份;10、恢复数据,先umount,lvconvert --merge
问题:1、如果建立的快照小于逻辑卷?2、如果建立快照大于逻辑卷?
扩展/减少逻辑卷和文件系统
放大:先放大逻辑卷,然后放大文件系统。
缩小:先缩小文件系统,然后缩小逻辑卷。
扩容过程:
1、准备硬盘、分区、分区格式8e,保存退出;2、建立pv,pvcreate 。注意,如果提示分区没有。 partprobe /dev/sdb;3、扩展卷组,vgextend,扩展之前先查看vg大小,好做对比;4、扩展逻辑卷,lvextend,查看大小;5、扩展文件系统,试图resize2fs出错。 用xfs_growfs 通知文件系统扩容;6、用df -h 验证扩容效果。
删除卷&检查卷
创建快照来促进数据备份
快照是临时保留所更改的逻辑卷的原始数据的逻辑卷
快照提供原始卷的静态视图,从而能够以一致状态备份其数据
快照用途:
1、备份数据。
2、快速复制
快照和逻辑卷在同一个卷组VG。
快照和逻辑卷内容一样。 是不是系统将逻辑卷内容复制到快照? 不是。 快照和逻辑卷共享同样的PE。
快照大小和逻辑卷一样的,必须的?不一定。
1,如果只是备份当前数据,快照大小等于lv实际使用大小,也就是可以小于逻辑卷。
2,等于逻辑卷lv大小,考虑增量的情况。
快照恢复数据两种方式:
1. 直接从快照拷贝数据。 快照还在。
2.lvconvert --merge 。合并快照。 快照会被移除。
3.直接在快照上面存放数据。 有风险。如果使用 lvconvert --merge ,数据回到快照点,增加数据就没有了。
快照的大小确定1.expected变化率2.required快照时
创建和使用备份快照
快照卷的容量必须等同于逻辑卷的容量;
不一定
快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
mount –ro /dev/vgname/snaplv /snapmount ??
LVM应用示例
重点说明创建LVM文件系统的基本过程(3个步骤):先PV,再VG,最后LV:
1. 每块硬盘均规划为1个主分区,并转换为物理卷
2. 组合这两个物理卷,创建名为mail_store的卷组
3. 在该卷组中创建名为mail的逻辑卷
4. 创建ext3文件系统,并挂载到/mail目录
使用fdisk命令分区以后,应执行“partprobe”命令重新检测分区表,或者重新启动系统
文件系统类型标识”8e“表示该分区用于” Linux LVM “
也可以执行“pvcreate /dev/sdb1 /dev/sdc1”命令一次性转换2个物理卷
“-L”选项用于指定逻辑卷分区的容量大小,”-n“选项用于指定逻辑卷的名称
按上述操作创建逻辑卷后,系统会自动建立”/dev/卷组名/逻辑卷名“的逻辑卷设备文件,即 /dev/mail_store/mail
重新调整LVM分区容量以后,需要使用resize2fs命令更新大小,而不是使用“partprobe”命令
讲解完本页以后,切换到虚拟机环境,演示实现LVM逻辑卷管理机制的完整过程
强调:不建议对逻辑卷进行缩减容量操作,因为这非常容易造成现有数据的损坏(通常不得不重新格式化文件系统),若确实需要减少逻辑卷容量时,可以使用lvreduce命令,按“y”确认后可以减少磁盘容量。例如:
[root@localhost ~]# lvreduce -L -2G /dev/web_document/benet
Do you really want to reduce benet? [y/n]: y
第八章 进程管理
8.1什么是进程
8.1.1查看进程信息-ps-top
nice-renice
pgrep-pstree
8.2进程管理
8.2.0前台和后台运行作业
8.2.1手工启动进程-yes-jobs
放到后台加“&”
8.2.2撤销作业-kill%
8.2.3终止和重新启动
作业-fg-bg
8.2.4作业的顺序执行
8.2.5 jobs-fg-kill-kall-pkill
8.3系统监视工具
8.4计划任务
8.4.1 at-crontab-计划任务管理
8.4.2crontab任务配置格式
星期的0和7都代表星期天,或者我们也可以使用名称来表示星期天到星期一,
例如sun表示星期天,mon表示星期一等等。
8.4.3 练习:管理进程并设置计划任务
systemctl start sshd 开启sshd服务
systemctl stop sshd 关闭sshd服务
systemctl restart sshd 重启sshd服务
systemctl reload sshd 使系统重新加载sshd服务配置
systemctl enable sshd 设置sshd服务为开机自启动服务
systemctl disable sshd 设置sshd服务为开机非自启动服务
systemctl list-unit-files 查看系统中所有服务的开机启动状态
客观题笔记
本文来自博客园,作者:软工菜鸡,转载请注明原文链接:https://www.cnblogs.com/SElearner/p/17676672.html