目录:
- 1、centos7 添加硬盘 挂载硬盘
- 2、CentOS7mount网络磁盘的详细步骤
- 3、CentOS挂载详解
centos7 添加硬盘 挂载硬盘
本文仅适用于使用 fdisk 命令对一个不大于 2 TB 的数据盘执行分区操作。如果需要分区的数据盘大于 2 TB
服务器安装centos的时候,通常linux系统分区默认为3个分区,主分区最多4个,其他可根据自己的需要挂载。
/ 根分区,通常10-100G左右(根据总磁盘大小情况)
/boot 系统操作分区(100-500MB 足矣)
/swap 虚拟内存暂存分区(通常是内存的2倍,根据自己装系统的习惯会有所差异)
1、首先查看未指派的分区名称,有的不一样,我的分别是/dev/sda和/dev/sdb,sda是系统分区,sdb是存储数据分区。
[root@huoshi-111 ~]# fdisk -l
3、分区完成。输入fdisk -l查看信息
6.挂载分区
7.设置开机自动挂载
8.确认是否挂载成功
CentOS7mount网络磁盘的详细步骤
systemctl disable firewalld
systemctl stop firewalld
systemctl mask firewalld
vi /etc/iscsi/initiatorname.iscsi
InitiatorName = iqn.************;【注:eg:iqn.2017-09.com.centos:client1】
1.安装target
yum -y install targetcli
2.启动target服务
systemctl start target
3.设置开机自启动
systemctl enable target
4.新建分区
eg:
fdisk /dev/sda ==回车,见下图
5. 进入交互模式
targetcli
6.建立一个块存储
/ /backstores/block create netdisk1.disk /dev/sdb1 【注:其中netdisk1为自定义名称】
7.配置ISCSI target端的命名
/ /iscsi create iqn.2017-09.com.centos:server1【注:其中server1为自定义名称,且命名在同一子网中确保是唯一的】
8.创建ACL允许ISCSI客户机连接
//iscsi/iqn.2017-09.com.example:server1/tpg1/acls create iqn.2017-09.com.example:client1【注:其中server1为服务端,client1为客户端名称】
9.创建lun(target块设备的逻辑单元)
//iscsi/iqn.2017-03.com.example:server1/tpg1/luns create /backstores/block/netdisk1.disk
10.配置验证用户名和密码
/cd /iscsi/iqn.2017-03.com.example:disk1/tpg1/acls/iqn.2017-03.com.example:client1
/set auth userid=username
/set auth password=password
11.配置完成后查看配置信息,并退出
/cd /
/ls
/exit
1.安装ISCSI Initiator
# yum -y install iscsi-initiator-utils
2.配置ISCSI Initiator的名称
# vi /etc/iscsi/initiatorname.iscsi 【注:此处InitiatorName必须与服务端配置的ACL允许ISCSI客户机连接的名称一致,且与上面的server端的配置相互配合】
3.修改ISCSI Initiator的配置文件
# vi /etc/iscsi/iscsid.conf
【注:node.session.auth.username为存储服务端set auth userid=username配置的username,node.session.auth.password= password为存储服务器端set auth password=password配置的password】
4.查找ISCSI设备
# iscsiadm -m discovery -t sendtargets -p 192.168.**.**
5.链接ISCSI设备
# iscsiadm -m node --login【注:如果登录一直失败的话,可以尝试重新启动下面两个服务:service iscsi stop ; service iscsid stop ; service iscsi start ; service iscsid start ; 】
6.查看系统磁盘的信息
# fdisk -l
7.格式化磁盘
mkfs -t ext4 /dev/sda
8.mount到指定的位置
mount /dev/sda /root/iscsi
9.设置开机自动连接ISCSI设备
# iscsiadm -m node -T iqn.2017-03.com.example:disk1 -p192.168.**.**:3260 -o update -n node.startup -v automatic 【注:提到的名字与IP均为target端的】
10.设置开机挂载网络磁盘
开机挂载:采用写入fstab方式开启启动挂载磁盘
获取磁盘UUID:# blkid /dev/sda
编辑fstab :# vi /etc/fstab
添加配置:UUID=9f122014-071a-4416-b40f-ece882285b2b /mnt/iscsi ext4 defaults,_netdev 0 0
【说明】
UUID=ba7925cc-9bfb-4238-984d-999e18d592e8:磁盘UUID,代表磁盘
/mnt/iscs:代表挂载路径,根据实际灵活变动。
ext4:代表文件系统,根据实际灵活变动。
_netdev:代表该挂载的磁盘分区为网络磁盘分区。(在网络服务启动之后再去mount磁盘,若果不加的话,会使机器无法启动!!!!)
CentOS挂载详解
接前文, CentOS下ext4、vfat文件系统创建、修改 ,以及 swap分区管理
在Linux中,存储设备的使用一般分三步,分区,创建文件系统(格式化),挂载。
什么是挂载?个人理解,Linux通过倒树形的根文件系统来管理所有的文件,内核只能识别并管理根目录 / 所在的文件系统及其下的目录和文件。因此其他文件系统想要使用,都需要为其指定在现存目录下的访问地址。
将额外的文件系统,与现存的Linux能够识别的目录,建立起映射关系,实现 将现存目录作为访问额外文件系统的地址 的功能,这个过程称为 挂载 ;用于访问额外文件系统的,现存文件系统中的指定目录,称为 挂载点 。
挂载的逆过程,解除额外的文件系统与现存Linux能够识别的目录之间的映射关系,称为 卸载 。
挂载需要两个参数,挂载的设备或文件系统,挂载点;
1. 挂载点,是现有文件系统下的某个目录,是由我们自己指定的;
2. 要挂载的设备或文件系统,其信息要如何获得?
1. 如果要挂载的是磁盘,可以尝试用 fdisk -l 命令配合 df 和 free 命令
为了更直观的比较,可以加上grep以过滤显示结果,例如:
从结果中可以看到,swap分区只有sda3,并且大小和现有swap大小基本一样,可知swap分区已全部挂载。
已挂载磁盘只有sda1和sda2,sdb1没有挂载。
2. 使用 blkid -o format 命令
在format的多个值中比较推荐list或full,full模式下会显示设备名称、UUID和文件系统的类型
而list模式更便于我们阅读,此时会显示设备名称、文件系统类型、表现名称、挂载点(会显示挂载点或未挂载状态)和UUID。如下图,根据提示很容易可以看得出 /dev/sdb1 和 /dev/sr0 处于未挂载状态。
3. 使用 lsblk 命令
例如, lsblk -fmp ,不指定设备则显示所有块设备信息,很容易看到sbd1和sr0没有挂载点,说明他们处于未挂载状态。
通过上面三种方法,我们可以了解到目前尚未挂载的设备信息,即有哪些设备可以挂载。
1,挂载和卸载命令的参数:
挂载使用 mount 命令,设备、挂载点 两者都需要指明
卸载使用 umount 命令,设备、挂载点 两者只需要指明其一
2,一般挂载
命令格式:mount [-nrw] [-t vfstype] [-o options] device dir
device :指明要挂载的设备或文件系统,可以通过以下方式指定
1)设备文件名称:例如/dev/sda5,默认使用这种方式
2)卷标:-L 'LabelName',例如 -L 'MYDATA'
3)UUID:-U UUID,即使设备名称或者卷标改了,也不影响识别
4)伪文件系统(暂不介绍):proc,sysfs,devtmpfs,configfs
dir :挂载点
1)事先存在,并建议使用空目录,
2)如果是长期挂载,尽量不要使用mnt和media目录
3)处于busy状态(例如正在被访问的目录)的设备无法被卸载
mount命令本身选项 :
-r:readonly,只读挂载(整个分区只读);
-w:read and write, 读写挂载;
-n:默认情况下,设备挂载或卸载的操作会同步更新至 /etc/mtab 文件中;
-n用于禁止此特性:挂载但不更新 /etc/mtab 文件;
-t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;
-L LABEL:挂载时以卷标的方式指明设备;
mount -L LABEL dir
-U UUID:挂载时以UUID的方式指明设备;
mount -U UUID dir
-o options :挂载选项,多用于定义挂载时文件系统的特性
sync/async:同步/异步操作;
atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
remount:重新挂载;
acl:支持使用facl功能;
# mount -o acl device dir
# tune2fs -o acl device
# mount -o remount,acl device dir #重新挂载并增加acl特性
ro:只读,-o ro 等效于 -r
rw:读写,-o rw 等效于 -w
dev/nodev:此设备上是否允许创建设备文件;
exec/noexec:是否允许运行此设备上的程序文件;
auto/noauto:是否支持自动挂载,即是否支持 mount -a ,如果是 noauto ,那么即使在 fstab 中加入记录,启动时也不会自动挂载该设备;
user/nouser:是否允许普通用户挂载此文件系统;
suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;
defaults:使用默认挂载特性: rw, suid, dev, exec, auto, nouser, async, relatime(默认特性和CentOS版本及内核版本有关)
特别的,如果指定的特性与defaults的默认特性冲突,以额外指定的特性为准,例如 mount -o defaults,noauto device dir ,默认特性是 auto ,额外指定 noauto ,device实际表现的挂载特性是 noauto 。
3,挂载可移动设备或回环设备
4,设置开机后自动挂载
修改配置文件 /etc/fstab ,该文件中每一行定义一个要挂载的文件系统及相关属性,每一行的内容分为6个字段:
(1) 要挂载的设备,可以是以下内容:
设备文件的名称,如/dev/sda1
设备的LABEL
设备的UUID,CentOS 7中较多使用此种方式
伪文件系统:如sysfs, proc, tmpfs等
(2) 挂载点路径
如果是swap类型的设备,挂载点就是 swap ;
(3) 文件系统类型,如ext4,xfs,btrfs,vfat等等;
(4) 挂载选项,也就是 mount -o 命令的那些选项:
defaults:使用默认挂载选项;
如果要同时指明多个挂载选项,彼此间以逗号分隔,如:defaults,acl,noatime,noexec
(5) 转储频率,已经很少使用:
0:从不备份;
1:每天备份;
2:每隔一天备份;
(6) 自检次序:
0:不自检;
1:首先自检,通常只能是根文件系统可用1;
2:次级自检;
1. 使用 findmnt 命令
findmnt 命令将列出所有已挂载的文件系统或者搜索出某个文件系统,是查看文件系统时很常用的命令之一。findmnt 命令能够在 /etc/fstab 、 /etc/mtab 或 /proc/self/mountinfo 这几个文件中进行搜索。
命令常用选项:
-l:表示采用列表形式输出结果,默认采用树形输出结果
--df 或 -D:以df类型输出结果,显示文件系统及设备空间使用情况
-t TYPE:只输出文件类型为TYPE的结果
参数:
findmnt可以指定设备或挂载点,输出相关结果,不带任何参数则输出所有结果,例如:
findmnt /dev/sda1
findmnt /
2. 使用 blkid 命令
blkid -o list ,在第一部分已经简单介绍过该命令的用法,这里不再重复。
3. 使用 lsblk 命令
lsblk -fp [device] ,第一部分也已经介绍过,这里不再重复。
4. 使用 df 命令
常用 df -hT 来查看 已挂载 设备的文件系统及其空间使用情况, -T 表示查看文件类型, -h 表示以方便识别的方式输出空间情况。
更多用法请看man手册。
5. 使用 mount 命令
直接使用 mount 命令,不带选项和参数,会输出所有已挂载的系统信息,里面可能有很多我们不需要的信息,常和grep一起使用以查看我们关注的内容。
如: mount | grep -E "(sd)|(sr)"
6. 使用 fdisk -l 命令
该命令是分区命令,因此只能看到能够进行分区操作的设备信息(比如光盘就不会显示),同时无论分区有没有挂载都会显示。
上面的命令可以简单分为
可以查看 设备信息: blkid , lsblk , fdisk
只能查看 设备信息: findmnt , df , mount
卸载使用命令 umount ,设备或挂载点任意指定其中之一即可: umount device|dir
卸载时有可能会遇到挂载点正在被其他进程访问,无法卸载的情况:
解决办法有2个:
1. 终止所有正在访问某挂载点的进程,比如使用命令 fuser -km /test (这个命令有可能导致其他进程出问题,生产环境慎用),或者kill掉访问挂载点的进程,然后再卸载。
2. 强制卸载: umount -l /test , umount -l 会等到挂载点空闲后再卸载,相对让人放心一些。