计算机工作原理:
硬盘工作原理:
磁盘的分类
/dev/sda1
/dev/hdb1
/dev/vdc1
h: ide接口硬盘
v:虚拟硬盘
s:sata/scsi 硬盘
1:第一个分区
a,b,c :第一(二,三)块:硬盘
硬盘的大小 = 柱面数 * 盘面数(磁头数)* 扇区数*扇区大小(512字节)
fdisk -l: 查看硬盘分区
lsblk: 列出当前系统所有块设备信息
需求:需要1.5G的空间存放业务
思路:1. 买硬盘 虚拟机添加时要重启
2. 进行分区(不是必须)
3.
mbr ; 512字节 = 446字节 + 64字节(分区表信息)+ 2字节(校验位)
一个分区的信息占用16字节,所以最多可以分4个主分区或者3个主分区+1个扩展分区(逻辑分区)
fdisk /dev/sdb
….
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除分区
l list known partition types 列出已经知道的分区类型
m print this menu 获取帮助
n add a new partition 创建一个新的分区
o create a new empty DOS partition table
p print the partition table 打印分区
q quit without saving changes 退出不保存
s create a new empty Sun disklabel
t change a partition’s system id 更改分区的系统id号
u change display/entry units
v verify the partition table
w write table to disk and exit 保存退出
x extra functionality (experts only)
Command (m for help):
说明:对于一个新的硬盘分完区后一般可以直接识别:如果没有识别到需要刷新以下分区表信息;对于一个老的硬盘(删除在分区),分区后要刷新分区表信息,如果还不行就需要重启操作系统。
# partx -a /dev/sdb
格式化文件系统:
# mkfs.ext4 /dev/sdb2
或者
# mkfs -t ext4 /dev/sdb2
挂载使用:
mkdir /u01
mount /dev/sdb2 /u01
练习:
1、虚拟机里添加一块10g硬盘,分7个分区,格式化前4个分区为ext4的文件系统类型,第5个分区格式化成swap分区,大小为1g
2、需要一个大小为3G的空间来存放数据文件到/data/u01目录里
3、开机自动挂载/data/u01目录
思路:
1.需要一块硬盘
2.对硬盘进行分区管理(4个主分区或者3个主分区+1个扩展分区【所有逻辑分区的大小之和不能超过扩展分区的大小】, partx - a /dev/sdk)
3.格式化成某个文件系统类型 mkfs.ext4 mkfs -t type dev
4、挂载使用
demo2:
更改分区类型
t 命令
demo3:挂载方式
1.手动挂载
#mount /dev/sdb6 /data/u03
mount:you must specify the filesysytem type
注意:挂载前一定要格式化
卸载:
umount /dev/sdb3 【设备】
umount /data/u02 [挂载点]
2.开机自动挂载
vim /etc/fstab
第一列: 需要挂载的设备 【名词/ uuid/ 标签】
# blkid /dev/sdb1
/dev/sdb1: UUID="e1c678b0-943a-4e4f-8570-68cc55f04571" TYPE="ext4"
# mount UUID="e1c678b0-943a-4e4f-8570-68cc55f04571" /data/u01
# e2label /dev/sdb2 'DISK2'
# blkid /dev/sdb2
/dev/sdb2: LABEL="DISK2" UUID="ac2e6b9f-18a1-4efd-a1d2-11578930e855" TYPE="ext4"
# mount LABEL="DISK2" /data/u02/
第二列:挂载点
建议是一个空的目录
不要将多个设备挂载到同一挂载点上
第三列: 文件系统类型
1.文件系统类型一定要和设备的真正的文件类型保持一致
第四列:挂载选项
ro/rw : 可读可写
noauto/auto: 非自动和自动
exec/noexec :执行和非执行
async/sync :异步和同步
remount:重新挂载已经挂载的设备
...
#mount -o remount,exec /dev/sdb3
-o :挂载选项
-a:重新读取/etc/fstab文件内容
第五列: 是否支持dump备份
0代表不需要做dump备份; 非0代表要做dump备份;1代表每天做,其他是不定期
第6列:是否用fsck去检验扇区
0:不检测 非0代表检测;数字越小优先级越高
mount -a :所有档案系统重新挂载
3.autofs 自动挂载
1》 autofs软件要安装
# rpm -q autofs
autofs-5.0.5-88.el6.x86_64
# rpm -qc autofs
/etc/auto.master 主配置文件
/etc/auto.misc 子配置文件
2》启动autofs 服务(后台进程)
# /etc/init.d/autofs start
# /etc/init.d/autofs status
automount (pid 1935) is running...
3》 根据需求配置autofs服务的相关文件
需求: /dev/sdb1/data/u01 1分钟没有使用自动卸载
a. vim auto.master
/data /etc/auto.sdb1 - - timeout = 60 [定义一个一级挂载点;定义一个子配置文件(必须以auto.开头);定义空闲时间]
b.创建一个子配置文件
vim /etc/auto.sdb1
u01 -fstype=ext4,ro :/dev/sdb1
c、重启服务测试验证
service autofs restart
cd /data/u01
ls
挂载一个网络设备:
1>省略
2>省略
3> 根据需求配置autofs服务的相关文件
需求:
10.1.1.254:/data/share/notes/2017/0331 /upl/ule
a、 vim auto.master
/upl /etc/auto.254
b、vim /etc/auto.254
ule -ro.nfs 10.1.1.254:/data/share/notes/2017/0331
c、重启服务
service autofs restart
d.测试验证
# cd /upl/
[root@node1 upl]# ll
total 0
[root@node1 upl]# cd ule
[root@node1 ule]# pwd
/upl/ule
[root@node1 ule]# ls
ule01-env ule02 ule03 ule04 ule05 ule06 ule07 ule08 ule09 ule10 ule10~
# df -h
10.1.1.254:/data/share/notes/2017/0331 407G 124G 263G 33% /upl/ule
思考:
如果将一个设备挂载到一个一级目录怎么办?
课堂练习:
1、将自己的本地设备/dev/sdb5,以只读的方式挂载到/data/u01目录
2、将10.1.1.254的笔记目录/data/share/notes/2017/0331挂载到本地/ule目录里
扩容swap空间:
方法1:
1》.需要有一个设备 /dev/sdb |/dev/sdb2
查看:
[root@node1 ~]# free -m
total used free shared buffers cached
Mem: 1990 672 1318 0 60 303
-/+ buffers/cache: 309 1681
Swap: 2047 0 2047
[root@node1 ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097144 0 -1
2》. 格式化成swap的文件系统类型
#mkswap /dev/sdb5
3》.激活swap空间
#swapon -p 1 /dev/sdb5 -p指定优先级,数字越大优先级越高
#free -m
total used free shared buffers cached
Mem: 1990 673 1317 0 60 303
-/+ buffers/cache: 309 1681
Swap: 3083 0 3083
#swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097144 0 -1
/dev/sdb5 partition 1060248 0 1
方法2:
1. 需要有一个设备(模拟一个大文件)
dd命令:
if :源文件 (被复制的)hre
of:目标文件
bs:数据量的大小 kb mb gb
count : 复制的数量
# dd if=/dev/zero of=/swap.file bs=1M count=1024
2.格式化swap空间
#mkswap /swap.file
3.激活swap空间
swapon /swap.file
关闭swap空间
#swapoff /dev/sdb5
#swapoff /swap.file