红帽Linux+虚拟化基础入门(五)
磁盘管理
1.文件系统
OS-->operation systemFS -->file system (推荐学习教材《大话存储》第二版)
OS是安装在计算机的硬件之上,必须要有内存和cpu。
FS是安装在计算机的磁盘之上,内存断电之后,内存里边的数据全部消失。
内存用来存储运行中的程序(进程数据)
磁盘用来存储静态数据(SATA,PCIE)
在计算机中装入新硬盘的步骤:
1.购买硬盘。 (3.5寸和2.5寸)机械和固态(工作方式完全不一样)
机械:盘片和磁头没有直接接触;IDE 3600转。SATA:4800,5400 ,6400 ;SCSI:9600;SAS:15000
影响因素:转速。磁道密度。每个扇区512B,扇区是数据存储的最小单位。
格式化:将磁盘装上文件系统。数据的存储单元变为block(块)
block=2^n *扇区
n=1 block=1kb
n=2 block=2kb
n=3 block=4kb
block变得比扇区大了,减少了磁盘的I/O次数。
注意:当一个block已经存入了一个文件的一部分,那么就算这个block还剩空间,也不能存入新的文件。
例如:block大小为1kB。我有两个1.5KB的文件,就必须要存4个block。其中两block只用了0.5KB。
2.关机
3.打开后盖
4.插入磁盘
5.关闭后盖
6.开机
7.初始化磁盘(在磁盘最前边写入代码)
8.分区
9.格式化
10.分配盘符或者挂载目录
11.使用
磁盘分盘:
(1)ls /dev/sd* #查看存在的磁盘和磁盘分区(2)fdisk /dev/sdb #选择要分区的磁盘进行分区,进入磁盘分区的交互式shell
注意:/dev/sda表示第一块磁盘,/dev/sda1表示第一块磁盘的第一个分区。/dev/sdb就表示第二块磁盘。
(3) 进入分区shell后,按m为帮助。
(4)按 n 创建一个分区 , 在整个过程中按q 都为不生效退出
(5)选择分区类型:按p 创建主分区;按e 创建扩展分区;
(6)选择区号,尽量选择默认的区号。保持分区的连续性;
(7)选择扇区开始位置,尽量选择默认保持扇区的连续性。
(8)+1G 选择扇区结束位置,可以直接指定分区的大小。
(9)创建完毕后,p查看扇区信息
(10)按 w 保存修改并退出
(11)partprobe #刷新分区表
格式化及挂载分区:
(1)选择要格式化的分区和对应的文件系统mkfs.文件系统名 /dev/sdb1 #将/dev/sdb1分区格式化为某文件系统。
mkfs.ext4 --help #查看格式化为ext4的帮助
(2)格式化后的分区要想使用必须要挂载。
首先要创建挂载的目录,一般都建在/mnt下。
mount 要挂载的分区 挂载到的目录 #将分区挂载到指定目录下
参数
-t #文件系统类型
(3)查看磁盘大小
df -Th #查看磁盘分区,并显示文件系统以及人性化显示大小(KB、MB、GB)
注意:在格式化的时候可以指定block的大小。以windows为例:
如果你的磁盘总是存放一些小文件(文档之类的),可以将block选小一点,可以充分利用空间和提升读取速度;如果经常存储大文件(电影等),可以将block调大。
磁盘的分区模式:
在磁盘前写入的代码分区模式:
1.MBR 512B
主分区不超过4个;
单个分区最大容量2TB;
2.GPT (无主分区和逻辑分区的概念)
主分区“无限制”(最多128个);
单个分区容量无限制;
注意:分区有主分区和扩展分区,扩展分区只能有一个。在扩展分区的基础上,使用扩展分区的空间来划分逻辑分区;主分区和扩展分区的区号为1-4,逻辑分区从5开始。
修改配置文件挂载磁盘:
上边使用mount的方式挂载并不是永久挂载。如果想要设备永久挂载,需要将挂载信息写入/etc/fstab里边。
注意:里的文件十分重要,如果丢失会导致系统启动失败。文件里的任何一个磁盘的丢失都会导致系统无法启动。
mount -a 是手工的让系统根据/etc/fstab文件自动的挂载一下。如果文件有误,mount -a也会提示。
所以建议每次修改完后都使用一次mount -a命令。这样既能让我们将刚写入的挂载信息如实挂载也能起到检测/etc/fstab书写的是否正确。
2.iSCSI:让存储资源实现网络共享
iSCSI采用的是 c/s架构target为安装在Linux上的服务端,让客户端认为访问的存储资源是本地资源。
backstores 后端存储
客户和服务的iqn不能相同
1.配置iSCSI服务端
(1)首先在iSCSI服务端分出一个磁盘分区(注意,不要格式化)
步骤见上文;
(2)安装targetcli软件
yum install -y targetcli #安装targetcli软件
(3)开启iSCSI服务
systemctl start target #启动target服务
systemctl enable target #设置服务开机自启
systemctl status target #查看target服务状态
(4)设置防火墙策略
systemctl mask iptables.service #mask参数禁用一个单元(禁用后,间接启动也是不可能)
systemctl mask ebtables.service
systemctl mask ip6tables.service
systemctl status firewalld.service #查看防火墙状态
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload
(5)配置iSCSI服务端
targetcli #进入target服务端管理
/> /backstores/block create serverdisk1 /dev/sdb1 #创建要共享的网络硬盘,名为serverdisk1 ,磁盘位置为/dev/sdb1
/> iscsi/ create iqn.2017-01.com.example:server0 #创建服务端标识(格式不能改变 iqn.xxxx.xxx.xxx:xxx)
/> iscsi/iqn.2017-01.com.example:server0/tpg1/acls create iqn.2017-01.com.example:desktop0 #在服务器标识下的/tpg1/acls 创建允许通过的客户端标识。
/> iscsi/iqn.2017-01.com.example:server0/tpg1/luns create /backstores/block/serverdisk1 #创建后端存储的路径。
/> iscsi/iqn.2017-01.com.example:server0/tpg1/portals delete ip_address=0.0.0.0 ip_port=3260 #将默认服务器的ip地址删除。(此步在7.4系统中存在-)
/> iscsi/iqn.2017-01.com.example:server0/tpg1/portals create 172.25.0.11 ip_port=3260 #将本机的ip添加到服务器,确保网络中的人能够访问到。
2.配置iSCSI客户端(windows)
打开iSCSI发起程序
配置客户端标识
连接到服务器
打开磁盘管理,会发现多了一块磁盘
到此为止iSCSI环境搭建完毕。