开机自检(BIOS)--MBR引导---GRUB菜单---加载内核(kernel)---运行INIT进程---读取/etc/inittab配置文件---执行/etc/rc.d/rc.sysinit脚本---执行/etc/rc.d/rc脚本/启动mingetty进程
1.Linux中通过设备名来访问目录
[root@localhost ~]# ll /dev/ #存放目录
2.linux系统对分区的要求
至少有 / 和 swap两个分区(其时:swap也可以没有)
swap(交换分区的作用):虚拟内存,大小:1.5*物理内存容量
建议设置独立的boot分区
生产线上一般服务器分区放是:/boot,swap,/
3.如何选择文件系统
*文件系统:是组织和存储文件系统的方法,目的是如:ext2.ext3.ext4.NTFS或FAT等
在磁盘分区后能够使用之前必须建立对应文件系统才行
reiserfs 大量小文件业务首选reiserfs
xfs 数据库业务
ext4 视频下载,数据库,小文件业务也ok
4.开机挂载
*方式: 开机脚本|/etc/fstab/|autofs软件
[root@server1 ~]# cat /etc/rc.d/rc.local
.....
mount 挂载设备 挂载点
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2
....
[root@server1 ~]# cat /etc/fstab
^^autofs
*触发式挂载
[root@server1 ~]# yum install autofs.x86_64 -y
[root@server1 ~]# vim /etc/auto.master
8 /auto /etc/auto.sdb1
[root@server1 ~]# vim /etc/auto.sdb1
sdb1 -fstype=auto :/dev/sdb1
设备挂载点|文件系统类型|
[root@server1 auto]# cd sdb1
*目录会自动创建,sdb1不会显示出来,但是需要触发
5.服务软件使用
*安装软件
*启动服务
*配置服务
*重启服务
*测试服务
*开机启动
6.开机启动的设置
[root@server1 ~]# chkconfig --list | grep autofs #查看
autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
[root@server1 ~]# chkconfig --level 5 autofs off #修改
[root@server1 ~]# chkconfig --list | grep autofs
autofs 0:off 1:off 2:off 3:on 4:on 5:off 6:off
7.卷标
[root@server1 ~]# e2label /dev/vda1 #查看卷标
[root@server1 ~]# e2label /dev/vda1 study
[root@server1 ~]# e2label /dev/vda1
study
[root@server1 ~]# findfs LABEL=study
/dev/vda1
[root@server1 ~]# mount LABEL=study /mnt/
[root@server1 ~]# df
/dev/vda1 495844 33469 436775 8% /mnt
[root@server1 ~]#
8.swap分区的制作
*应用:服务器物理内存不够,可尝增加swap分区
[制作临时swap分区]
[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 49.6568 s, 21.1 MB/s
[root@localhost ~]# du -sh /swapfile
1000M /swapfile
[root@localhost ~]# file /swapfile
/swapfile: data
[root@localhost ~]# mkswap /swapfile
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=cbf7f9a9-0881-4af5-b221-8e395803bec4
[root@localhost ~]# swapon -a /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
[root@localhost ~]# chmod 0644 /swapfile
[root@localhost ~]# ll -l /swapfile
-rw-r--r--. 1 root root 1048576000 Jul 19 04:36 /swapfile
[root@localhost ~]# swapon -s
Filename Type Size Used Priority
/swapfile file 1023996 0 -1
[root@localhost ~]#
[磁盘swap分区]
[root@server1 ~]# free
total used free shared buffers cached
Mem: 502276 158000 344276 0 15188 88672
-/+ buffers/cache: 54140 448136
Swap: 942072 0 942072
[root@localhost ~]# mkswap /dev/vda2
[root@localhost ~]# free -m
[root@localhost ~]# swapon /dev/vda2
[root@localhost ~]# swapoff /dev/vda2
[root@localhost ~]# blkid /dev/vda2 #查看其UUID在/etc/fstab里面挂载
9.分区加密
设备 ---加密 ---文件系统 ---文
1.fdisk /dev/vdb 新建分区
2.partprobe 同步分区
3.cryptsetup luksFormat /dev/vdb1 对/dev/vdb1进行加密
——需要输入:YES(大写) 密码
4.加密之后就不能对 /dev/vdb1进行挂载了
5.cryptsetup open /dev/vdb1 name 解密之后需要一个新名字
——输入加密时设定的密码
6.name存在位置 : /dev/mapper/name
7.ll 可以查看/dev/mapper/name 属性
8.mkfs.xfs /dev/mapper/name
9.mount /dev/mapper/name /mnt 解密之后可以对其重新挂载
10.touch /mnt/file{1..3}
11.umount /mnt
——df 查看物理状态
12.cryptsetup close /dev/mapper/name
——关闭name(重新开启加密方式)
13.ll /dev/mapper/
14.mount /dev/vdb1 检测重新加密是否成功
[root@localhost mnt]# partprobe
[root@localhost mnt]# cryptsetup luksFormat /dev/vdb1 #加密
WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
[root@localhost mnt]# mount /dev/vdb1 /mnt/
mount: unknown filesystem type 'crypto_LUKS'
[root@localhost mnt]# cryptsetup open /dev/vdb1 jiemi #打开
Enter passphrase for /dev/vdb1:
[root@localhost mnt]# ls /dev/mapper/
control jiemi
[root@localhost mnt]# mkfs.xfs /dev/mapper/jiemi #格式化
meta-data=/dev/mapper/jiemi isize=256 agcount=4, agsize=6272 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=25088, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost mnt]# mount /dev/mapper/jiemi /mnt/
[root@localhost mnt]# touch file{1..3}
[root@localhost mnt]# ls
file1 file2 file3
[root@localhost mnt]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 4335888 6138012 42% /
devtmpfs 927072 0 927072 0% /dev
tmpfs 942660 84 942576 1% /dev/shm
tmpfs 942660 17028 925632 2% /run
tmpfs 942660 0 942660 0% /sys/fs/cgroup
/dev/mapper/jiemi 96940 5176 91764 6% /mnt
[root@localhost mnt]# umount /mnt/
[root@localhost mnt]# cryptsetup close /dev/mapper/jiemi #关闭
[root@localhost mnt]# ls /dev/mapper/
control
[root@localhost mnt]# mount /dev/vdb1 /mnt/
mount: unknown filesystem type 'crypto_LUKS'
[root@localhost mnt]#
[设置开机自动挂载]
1.vim /root/passwdfie 写如加密时的密码
————xiamin0099
2.chmod 600 /root/passwdfile
3.cryptsetup luksAddKey /dev/vdb1 /root/passwdfile 将分区和密码文件连接起来
5.vim /etc/crypttab
————name(解密之后的名字) /dev/vdb1(设备) /root/passwdfile(密码存放文件)
6.vim /etc/rc.d/rc.local
————mount /dev/mapper/date(解密之后的文件) /mnt
7.chmod u+x /etc/rc.d/rc.local
8.df 查看目前挂载状况
9.reboot————df 重启之后查看开机自动挂载是否成功
[root@localhost mnt]# vim /root/mima
[root@localhost mnt]# chmod 600 /root/mima
[root@localhost mnt]# cryptsetup luksAddKey /dev/vdb1 /root/mima
Enter any passphrase:
[root@localhost mnt]# vim /etc/crypttab
[root@localhost mnt]# vim /etc/crypttab
[root@localhost mnt]# cat /etc/crypttab
jiemi /dev/vdb1 /root/mima
[root@localhost mnt]# vim /etc/rc.d/rc.local
[root@localhost mnt]# chmod u+x /etc/rc.d/rc.local
[root@localhost mnt]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 4336884 6137016 42% /
devtmpfs 927072 0 927072 0% /dev
tmpfs 942660 84 942576 1% /dev/shm
tmpfs 942660 17024 925636 2% /run
tmpfs 942660 0 942660 0% /sys/fs/cgroup
[root@localhost mnt]# reboot
10.磁盘配额
检查内核是否支持quota
检查文件系统是否支持quota
初始化磁盘配额数据库
配置磁盘配额
激活(关闭)
测试
修改默认期限
拷贝磁盘配额给其它账户(-p)
[概念]
配额:系统管理员对某一个普通账户可以使用磁盘的额度
区块配额:以大小限制普通用户的使用
inode索引节点配额:在分区里面可以创建目录或者文件的个数
软限制:到达一定额度之后到达软限制,继续使用,最后到达硬限制,不能再继续使用
制作
[root@localhost ~]# cat /boot/config-3.10.0-123.el7.x86_64 | grep -i quota
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y #检查内核是否支持磁盘配额
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
[root@localhost ~]#
^^^^视频
云路课堂---磁盘管理 | 博客
[root@localhost ~]# fdisk /dev/vdb #新建分区|分区不需要格式化
[root@localhost ~]# partprobe
[root@localhost ~]# mkfs.xfs /dev/vdb1
[root@localhost ~]# mkdir /pub
[root@localhost ~]# mount -o usrquota,grpquota /dev/vdb1 /pub#制作分区
[root@localhost ~]# mount #查看配额是否制作成功
[root@localhost ~]# quotaon -ugv /dev/vdb1 #开启配额
quotaon: Enforcing group quota already on /dev/vdb1
quotaon: Enforcing user quota already on /dev/vdb1
[root@localhost ~]# edquota -u student #为student用户制作磁盘配额
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 0 200 300 0 0 0
设备|block|软限制大小|硬限制大小|inode限制|软限制文件个数|硬限制文件个数
[root@localhost ~]# dd if=/dev/zero of=/pub/file bs=1M count=15
[root@localhost ~]# repquota -a
*设置inode
[root@localhost ~]# edquota -g droup #给组创建配额
[root@localhost ~]# edquota -p user #烤配磁盘配额给其它账户
*修改磁盘配额的限期
[root@localhost pub]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/vdb1 7days 7days
~
[root@localhost pub]#
11.磁盘阵列
*作用:加快磁盘读写速度
raid0:至少需要两块磁盘(大小相同):同时存一半,读写速度块,但是不安全
raid1:至少需要两块磁盘:同时写全部,写(存储速度慢),但是读快,数据安全性更高
raid5:至少三块磁盘,其中一个用来存放校验位(随机的),但是可以用来做冗余磁盘(其中一块坏了,可以用一块新的来做冗余)
raid10:先做raid1,再做raid0,集合raid1和raid0的优点
[raid5操作]
[root@localhost ~]# fdisk -l
.....
Device Boot Start End Blocks Id System
/dev/vdb1 2048 206847 102400 83 Linux
/dev/vdb2 206848 411647 102400 83 Linux
/dev/vdb3 411648 616447 102400 83 Linux
/dev/vdb4 616448 821247 102400 83 Linux
[root@localhost ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/vdb{1,2,3,4}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
*-C指定raid存放位置和名称(只有最后一位数字可变)
-l指定raid级别
-n指定除冗余之外的用几块来做raid
-x指定冗余个数
[root@localhost ~]# mdadm -D /dev/md0 #查看/dev/md0状态
/dev/md0:
Version : 1.2
Creation Time : Tue Jul 18 22:39:33 2017
Raid Level : raid5
Array Size : 203776 (199.03 MiB 208.67 MB)
Used Dev Size : 101888 (99.52 MiB 104.33 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Jul 18 22:39:43 2017
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : localhost:0 (local to host localhost)
UUID : 12a11745:dd32619c:2cafd8cc:e7b7ad9a
Events : 18
Number Major Minor RaidDevice State
0 253 17 0 active sync /dev/vdb1
1 253 18 1 active sync /dev/vdb2
4 253 19 2 active sync /dev/vdb3
3 253 20 - spare /dev/vdb4
[root@localhost ~]# mdadm -f /dev/md0 /dev/vdb2 #破坏/dev/vdb2
mdadm: set /dev/vdb2 faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
.....
Number Major Minor RaidDevice State
0 253 17 0 active sync /dev/vdb1
3 253 20 1 active sync /dev/vdb4
4 253 19 2 active sync /dev/vdb3
1 253 18 - faulty /dev/vdb2
[root@localhost ~]# mdadm -r /dev/md0 /dev/vdb2 #移除/dev/vdb2
mdadm: hot removed /dev/vdb2 from /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
Number Major Minor RaidDevice State
0 253 17 0 active sync /dev/vdb1
3 253 20 1 active sync /dev/vdb4
4 253 19 2 active sync /dev/vdb3
[root@localhost md0]# mdadm /dev/md0 -a /dev/vdb2 #添加/dev/vdb2
mdadm: added /dev/vdb2
[root@localhost md0]# mdadm -D /dev/md0
.....
Number Major Minor RaidDevice State
0 253 17 0 active sync /dev/vdb1
3 253 20 1 active sync /dev/vdb4
4 253 19 2 active sync /dev/vdb3
5 253 18 - spare /dev/vdb2
[root@localhost ~]#
*使用
开机生效
[root@localhost md0]# mdadm -Ds > /etc/mdadm.conf #保存radi的配置文件
[root@localhost md0]# cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=localhost:0 UUID=12a11745:dd32619c:2cafd8cc:e7b7ad9a
[root@localhost md0]# vim /etc/fstab #写开机启动脚本
删除Raid
[正常删除]
先卸载
全部指定为-f
全部-r(热拔除)
-S停止
删除配置文件
删除分区
删除md0
[暴力删除]
直接删除/dev/md0
[root@localhost ~]# mdadm -S /dev/md0 #停止使用(前提/dev/md0不是busy状态)
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm -A /dev/md0 #激活启用(前提是备份了配置文件)
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
[root@localhost ~]#
*先做此步骤
创建文件,便于测试
[root@localhost ~]# mkfs.ext4 /dev/md0
[root@localhost ~]# mkdir /md0
[root@localhost ~]# mount /dev/md0 /md0/
[root@localhost ~]# df
[root@localhost ~]# cd /md0/
[root@localhost md0]# echo hah>file1
^^^^参考文档
http://www.360doc.com/content/16/0109/00/12144668_526529398.shtml
12.LVM:逻辑卷管理
*主要作用,扩容|缩容|支持对分区的动态调整
*扩容:物理卷---->文件系统(在线)
缩容:文件系统--->物理卷(需要先卸载文件系统)
物理卷:PV
卷组:VG
逻辑卷:LV
文件系统:大小==LV
--把基础磁盘-->PV
--PV-->卷组VG
--VG-->LV(vg固定大小)
--LV-->文件系统层
*实验环境:需要基础分区
[创建文件系统操作]
新建分区
更新分区表
分区不需要格式化
[root@localhost ~]# pvcreate /dev/vdb{1,2,3,4}
[root@localhost ~]# vgcreate vg0 /dev/vdb{1,2,3,4} #-s可以指定PE的大小
Volume group "vg0" successfully created
[root@localhost ~]# lvcreate -L 300M -n lv0 vg0 #-l可以指定使用LE的个数
Logical volume "lv0" created
[root@localhost ~]# pvscan #查看PV
PV /dev/vdb1 VG vg0 lvm2 [96.00 MiB / 0 free]
PV /dev/vdb2 VG vg0 lvm2 [96.00 MiB / 0 free]
PV /dev/vdb3 VG vg0 lvm2 [96.00 MiB / 0 free]
PV /dev/vdb4 VG vg0 lvm2 [96.00 MiB / 84.00 MiB free]
Total: 4 [384.00 MiB] / in use: 4 [384.00 MiB] / in no VG: 0 [0 ]
[root@localhost ~]# pvdisplay #查看PV详细信息
[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg0" using metadata type lvm2
[root@localhost ~]# vgdisplay
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/lv0' [300.00 MiB] inherit
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID JX0GZX-elnX-OgXJ-FBNR-tsB0-SfQ6-dCvV8S
LV Write Access read/write
LV Creation host, time localhost, 2017-07-19 01:39:09 -0400
LV Status available
# open 0
LV Size 300.00 MiB
Current LE 75
Segments 4
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:0
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0 #制作文件系统层
[root@localhost ~]# mkdir /lv0
[root@localhost ~]# mount /dev/vg0/lv0 /lv0/
[root@localhost ~]# df
[root@localhost ~]# cd /lv0/
[root@localhost lv0]# ls
lost+found
[root@localhost lv0]# ls
a.txt file lost+found
[root@localhost ~]#
*不需要保存配置文件,制作好了就可以用了
[扩容操作]
从pv--->文件系统
给PV扩容,直接做一个PV就好
[root@localhost lv0]# vgextend vg0 /dev/vdb5 #括VG
[root@localhost lv0]# lvextend -L +100M /dev/vg0/lv0 #括LV
Extending logical volume lv0 to 400.00 MiB
Insufficient free space: 25 extents needed, but only 21 available
[root@localhost lv0]# df -h
[root@localhost lv0]# resize2fs /dev/vg0/lv0 400M #更新文件系统
[root@localhost lv0]#
*文件系统不受影响
[缩容操作]
[root@localhost ~]# umount /dev/vg0/lv0
[root@localhost ~]# e2fsck -f /dev/vg0/lv0 #必须执行此步操作
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv0: 13/76912 files (0.0% non-contiguous), 19979/307200 blocks
[root@localhost ~]# resize2fs /dev/vg0/lv0 250M #缩减lv层
[root@localhost ~]# vgreduce vg0 /dev/vdb4 #缩减vg层
Removed "/dev/vdb4" from volume group "vg0"
[root@localhost ~]# pvremove /dev/vdb4 #直接移除
Labels on physical volume "/dev/vdb4" successfully wiped
[root@localhost ~]#
13.制作LVM快照
*把lvm的原数据进行备份
先挂载lv
lvcreate /dev/vg0/lv0 -n lv0.snap -L size #制作快照
mount /dev/vg0/lv0.snap /opt
cd /opt/
ls (进行备份)
*lvm的迁移
[本机]
vgchange -a n #关闭卷组
vgexport vg0 #导出卷组
[它机]
vgimport vg0 #导入
cgchange -a y #打开
——END—–