磁盘分区(硬件的物理设备,在逻辑上划分边界)
主分区:可以直接建立文件系统
扩展分区:不可以格式,不可以建立文件系统
逻辑分区:可以创建文件系统,存放数据
MBR
Master Boot Record 主引导记录 512bytes
boot loader: 引导加载器,是一个程序,硬盘引导程序。占用446个bytes,
功能是检查,计算机自检完成之后,将控制权交给bootloader
FAT: 文件分区表,用来记录我们的分区信息, 64个bytes, 每个分区占16个bytes
MBR能支持4个主分区或者3个主分区和一个扩展分区(设置逻辑分区)
Magic Numer: 2个bytes,55AA, 标识MBR是否有效
GPT
GUID Partition Table: 全局唯一标识分区
LBA0 (MBR兼容部分)与MBR模式相似的,这个兼容区块也分为两个部份,一个就是跟之前446
bytes相似的区块,储存了第一阶段的开机管理程序!而在原本的分区表的纪录区内,这个兼容模式仅放入一个特殊标志的分区,用来表示此磁盘为GPT格式之意。而不懂GPT分割表的磁盘管理程序,就不会认识这块磁盘,除非用户有特别要求要处理之,否则该管理软件不能修改此分区信息,进一步保护了此磁盘!
LBA1 (GPT表头纪录)这个部份纪录了分区表本身的位置与大小,每128字节标识一个分区(UEFI标准中的最低要求:分区表最小要有16384字节)同时纪录了备份用的GPT分区(就是前面谈到的在最后34 个LBA 区块) 放置的位置, 同时放置了分区表的检验机制码(CRC32 ),操作系统可以根据这个检验码来判断GPT 是否正确。若有错误,还可以通过这个纪录区来取得备份的GPT(磁盘最后的备份区域) 来恢复GPT 的正常运作
1.数据安全:
主要方面:只用一个分区,若遇到系统需要重装或者分区需要进行格式化等,原有的重要文件无法在本硬盘保留,而若提前进行了合理分区,则用户数据不会收到影响
次要方面:我们知道,同等外部条件下,读取越频繁,磁盘越容易受损,我们把读写频繁的目录挂载到一个单独的分区,可以把磁盘的损伤控制在一个集中的区域。
2.效率(针对目前常用的机械硬盘):
主要方面:分区将数据集中在某个磁柱的区段,当有数据要读取自该分区时, 硬盘只会搜寻相应区段,有助于数据读取的速度与效能的提升!
另一方面:磁盘不同区域(内圈与外圈,)的读取速度是不同的,磁盘越大,差别越明显,通常将读写频繁的目录挂载到读取速度更快的区域(总体来说,是推荐外圈),不常使用和变更的数据放在稍慢的区域将是一个比较好的选择。
1、新建两个分区,他们的大小分别为1G,分别将他们挂载在/apple和/orange目录下。(mount 永久挂载)
列出块设备即硬盘
当前有一个大小为20G,SATA类型的硬盘sda,
sro光盘,我们的映像文件
大小为30G的,NVMe类型的硬盘nvme0n1
[root@redhat ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
sr0 11:0 1 8.8G 0 rom /run/media/root/RHEL-8-3-0-Base
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 29G 0 part
├─rhel-root 253:0 0 27G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
使用fdisk命令进行分区
[root@redhat ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x224ee20f.
Command (m for help): m //查看选项帮助
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition 删除一个分区
F list free unpartitioned space //
l list known partition types 列出已知分区的位置
n add a new partition 增加新的分区
p print the partition table 打印分区表
t change a partition type 改变分区类型
v verify the partition table 验证分区表
i print information about a partition 打印一个分区的信息
Misc
m print this menu 打印此帮助菜单
u change display/entry units 改变
x extra functionality (experts only) 额外功能
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit 保存并退出
q quit without saving changes 退出不保存
Create a new label
g create a new empty GPT partition table 创建一个新的空的GPT格式的分区表
G create a new empty SGI (IRIX) partition table 创建一个新的空的SGI格式的分区表
o create a new empty DOS partition table 创建一个新的空的DOS格式的分区表
s create a new empty Sun partition table 创建一个新的空的Sun格式的分区表
Command (m for help): n
Partition type //分区类型
p primary (0 primary, 0 extended, 4 free) //主分区
e extended (container for logical partitions) //扩展分区(逻辑分区容器)
Select (default p): p
Partition number (1-4, default 1): //分区号
First sector (2048-41943039, default 2048): //第一个扇区 ,默认就行
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +1G //上一个扇区
Created a new partition 1 of type 'Linux' and of size 1 GiB.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2):
First sector (2099200-41943039, default 2099200):
Last sector, +sectors or +size{K,M,G,T,P} (2099200-41943039, default 41943039): +1G
Created a new partition 2 of type 'Linux' and of size 1 GiB.
Command (m for help): p
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x86dda10f
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2099199 2097152 1G 83 Linux //主分区
/dev/sda2 2099200 4196351 2097152 1G 83 Linux //主分区
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
查看磁盘情况
[root@redhat ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 1G 0 part
sr0 11:0 1 8.8G 0 rom /run/media/root/RHEL-8-3-0-Base
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 29G 0 part
├─rhel-root 253:0 0 27G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
格式化创建文件系统类型
[root@redhat ~]# mkfs.xfs /dev/sda1 //xfs类型
meta-data=/dev/sda1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@redhat ~]# mkfs.xfs -f /dev/sda2 //加-f进行强制转换,否则报错
meta-data=/dev/sda2 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
新建挂载点目录
[root@redhat ~]# mkdir /{apple,orange}
[root@redhat ~]# mount /dev/sda1 /apple
[root@redhat ~]# mount /dev/sda2 /orange
[root@redhat ~]# mount //查看所有挂载信息
/dev/sda1 on /apple type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
/dev/sda2 on /orange type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
[root@redhat ~]# df -h //查看当前文件系统的使用情况
Filesystem Size Used Avail Use% Mounted on
devtmpfs 866M 0 866M 0% /dev
tmpfs 896M 0 896M 0% /dev/shm
tmpfs 896M 9.7M 886M 2% /run
tmpfs 896M 0 896M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 27G 5.3G 22G 20% /
/dev/nvme0n1p1 1014M 240M 775M 24% /boot
tmpfs 179M 1.2M 178M 1% /run/user/42
tmpfs 179M 3.5M 176M 2% /run/user/0
/dev/sr0 8.9G 8.9G 0 100% /run/media/root/RHEL-8-3-0-BaseOS-x86_64
/dev/sda1 1014M 40M 975M 4% /apple
/dev/sda2 1014M 40M 975M 4% /orange
查看设备UUID以及文件系统类型
[root@redhat ~]# blkid
/dev/nvme0n1: PTUUID="c945b4cd" PTTYPE="dos"
/dev/nvme0n1p1: UUID="612b04fd-ae2c-44ef-898c-8e00e8052d27" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="c945b4cd-01"
/dev/nvme0n1p2: UUID="KU5Le7-Vmv4-CVLN-UrZv-JEl6-wgBT-G7remj" TYPE="LVM2_member" PARTUUID="c945b4cd-02"
/dev/sda1: UUID="f6fe755c-49e0-4320-87ef-529a422caa11" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="86dda10f-01"
/dev/sda2: UUID="5a8712c4-b3f0-4c87-b20c-fd3ab3e66a34" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="86dda10f-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2020-10-09-06-40-37-00" LABEL="RHEL-8-3-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="4c667155" PTTYPE="dos"
/dev/mapper/rhel-root: UUID="7ad64e06-cc3a-4f19-8dbd-600e08e78214" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rhel-swap: UUID="3f43edf6-4b3e-4a34-9db6-f366c81379a0" TYPE="swap"
修改文件
第一个是设备的UUID也可以是设备名称
第二个是挂载点目录
第三个是文件系统类型
第四个是文件系统的挂载参数,一般都为默认
最后两个0,第一个0开始是否备份,第二个0 开机是否检查
[root@redhat ~]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Wed Aug 4 03:53:22 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=612b04fd-ae2c-44ef-898c-8e00e8052d27 /boot xfs defaults 0 0
/dev/mapper/rhel-swap none swap defaults 0 0
UUID=f6fe755c-49e0-4320-87ef-529a422caa11 /apple xfs defaults 0 0
UUID=5a8712c4-b3f0-4c87-b20c-fd3ab3e66a34 /orange xfs defaults 0 0
重启使配置生效
[root@redhat ~]# reboot
如果无法正常启动,表示之前配置文件系统信息出错,会提示输入root密码进入单用户模式 如果要想启动需要修改文件系统信息,vim
/etc/fstab,
注意:千万不要误操作前三个系统分区否则会很麻烦
重启成功的话
查看挂载,目前以实现永久挂载即开机自动挂载
[root@redhat ~]# mount | grep sda
/dev/sda2 on /orange type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
/dev/sda1 on /apple type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
实现http文件共享红帽软件包(/dev/sr0),通过自动挂载
自动挂载实现工具autofs,运行autofs后用户就不需要手动完成系统的挂载和卸载
查看是否httpd
没有的话使用:yum install httpd -y下载
[root@redhat ~]# rpm -qa | grep httpd
centos-logos-httpd-85.8-1.el8.noarch
httpd-tools-2.4.37-39.module_el8.4.0+778+c970deab.x86_64
httpd-2.4.37-39.module_el8.4.0+778+c970deab.x86_64
httpd-filesystem-2.4.37-39.module_el8.4.0+778+c970deab.noarch
修改配置文件
[root@redhat ~]# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost 192.168.159.128:80>
ServerName 192.168.159.128
DocumentRoot /work/gongxiang
</VirtualHost>
<Directory /work/gongxiang>
AllowOverride none
Require all granted
Options +Indexes
</Directory>
关闭httpd默认欢迎界面,否则无法实现
[root@redhat ~]# vim /etc/httpd/conf.d/welcome.conf
将里面的内容全部注释掉
# This configuration file enables the default "Welcome" page if there
# is no default index page present for the root URL. To disable the
# Welcome page, comment out all the lines below.
#
# NOTE: if this file is removed, it will be restored on upgrades.
#
#
# Options -Indexes
# ErrorDocument 403 /.noindex.html
#
#
# AllowOverride None
# Require all granted
#
#Alias /.noindex.html /usr/share/httpd/noindex/index.html
#Alias /poweredby.png /usr/share/httpd/icons/apache_pb2.png
创建目录
[root@redhat ~]# mkdir /work
重启服务、关闭防火墙、关闭selinux
[root@redhat ~]# systemctl restart httpd
[root@redhat ~]# systemctl stop firewalld
[root@redhat ~]# setenforce 0
安装autofs
[root@redhat ~]# yum install autofs -y
重启服务
[root@redhat www]# systemctl restart autofs
修改主配置文件
添加/public /etc/auto.httpd
[root@redhat www]# vim /etc/auto.master
#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/misc /etc/auto.misc
/work /etc/auto.httpd
临时挂载光盘
获取光盘type
[root@redhat ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@redhat ~]# mount
/dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=0,gid=0,dmode=500,fmode=400)
新建文件auto.httpd文件
[root@redhat ~]# vim /etc/auto.httpd
添加如下信息
gongxiang -fstype=iso9660,ro :/dev/sr0
修改了主配置文件,再次重启服务
[root@redhat ~]# systemctl restart autofs