综述
XFS 比 EXT 4更适合大文件处理,但消耗的CPU资源是EXT4的两倍
XFS 最大支持单文件16TB,EXT4:50TB
最小1GB/建议每个逻辑CPU 1GB
逻辑CPU:核数,而非线程数 lscpu可查看
一CPU多核,一二级缓存是独立的,三级缓存是所有核共享的
NUMA :非一致性内存访问UMA
换成GRUB2
GPT: 单硬盘超过2TB(RAID后),一个硬盘最多可分配128个主分区
支持非linux文件系统苹果的扩展分层文件系统(HFS+)微软的NTFS(只是grub2支持,不一定是内核支持)
内核版本3.10
支持大的crashkernel大小
以前kdump会把内存128M专用于保存内核信息,内存小于2GB时会启动失败。现在比128M更大了
swap内存压缩
将内核模块列入黑名单
动态内核补丁(不需要重新编译内核了)
集群
Pacemaker
keepalived HAProxy
替换Piranha
initrd=initrd.img驱动模块
命令
新增命令纠错功能
新增参数/选项补齐功能
服务
原来在:/etc/init.d/
现在: */usr/lib/systemd
/usr/lib/systemd/system
系统启动的第一个进程(进程号1)是systemd,代替了原来的init
pstree可以看到
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| systemctl status|start|stop|restart|reload UNIT systemctl enable|disable UNIT systemctl mask UNIT systemctl unmask UNIT systemctl list-unit-files [--type=service] systemctl list-units [--type=service] [--all] systemctl --failed --type=service systemctl list-dependencies UNIT systemctl reboot|poweroff systemctl get-default systemctl set-defalut graphical.target | muti-user.target
|
只查类型是service的Unit
1 2 3
| systemctl --type=service systemctl status sshd.service -l systemctl is-active | is-enabled sshd.service
|
修改root密码:
1、重启
2、在boot loader界面按任何键
3、光标移至需要启动的条目,按e
4、光标移到以linux16开头的那行
5、在行末添加rd.break
6、按ctrl+x启动
7、启动后执行以下命令来重置root密码
1 2 3 4
| mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel
|
最后两次exit退出
YUM
yum 从网络下载安装时,不仅有是Y和N选项,还有d选项,实现只下载,不安装。保存路径默认为:/var/cache/yum。
注意,只适用于从网络安装,如果是本地目录为yum源(baseurl=file://)则不生效
而以前的版本只可以实现安装时顺便缓存在本址,需要修改配置文件:
vim /etc/yum.conf
yum clean all 可以清除所有下载的包
时间管理
1 2 3 4
| timedatectl timedatectl list-timezone timedatectl set-timezone Asia/Shanghai timedatectl set-time 9:00:00
|
以前/etc/ntp.conf
现在/etc/chrony.conf
服务:chronyd
日志管理
journalctl 可以查看指定条件的日志,比如按owner、时间段、产生的进程等
-x, –catelog 只查看/var/logmessages
-n 指定行数,默认10行
例如:
1
| journalctl --since 9:00:00 --until 9:30:00 __SYSTEM_UNIT=httpd.service
|
GPT分区
以前超过2T的硬盘用fdisk分区最多只能用2T,所以以前用parted:
1 2 3
| parted /dev/sdb mklabel gpt mkpart 83 1 2621440
|
即使这样分区后,用fdisk -l /dev/sdb查看分区大小时,刚才创建的分区仍是2T
1 2 3
| 红帽/centos 5:partprobe 红帽/centos 6:partx -a 红帽/contos 7: partprobe 或 kpartx
|
现在不用parted,改用gdisk
-2G 负数表示从后往前分2G空间,数据放在硬盘的最外面,性能最好。负数表示从里往外分,即先分性能差的部分
格式化
1 2 3 4 5
| mkfs.xfs /dev/sdc1 xfs_info /dev/sdc1 xfs_growfs xfsdump xfsrestore
|
网络管理
网络接口命名,实际是被systemd-udevd改了
可以通过dmesg | grep eth查看
命名由三部分组成:
1、 en是以太网,wl是WLAN, ww是WWAN
2、 o是板载on board的,s是热插拔,p是PCI
3、 数字,代表索引、ID或port
如果无法匹配,则用传统命名
1 2
| nmcli con show nmcli dev status
|
疑问
centos7中,网卡配置文件需要加NM_CONTROLLED=”no”,否则:
改网卡配置文件(如改IP)再service network restart 不生效
这种情况下要生效需要重启或执行以下命令:
1 2 3 4
| nmcli con reload nmcli con show nmcli con down "..." nmcli con up "..."
|
改计算机名
现在是/etc/hostname
以前是/etc/sysocnfig/network
防火墙
默认改成firewalld
1 2
| systemctl mask iptables.service systemctl start firewalled
|
用firewalled配置的内容还是可以通过iptables -L查看
9个zone:
1、trusted允许所有进来的流量
2、home拒绝所有进来的流量,除非是与出去的流量相关或者匹配ssh,mdsn,ipp-client,samba-client,dhcpv6-client
以前的iptables是通过这样实现匹配出去相关的流量:iptables -I INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
3、internal和home是一样的
4、word和home基本一样,但默认允许的程序只有:ssh,ipp-client,dhcpv6-client
5、public和home基本一样,但默认允许的程序只有:ssh,dhcpv6-client
是新加的网络接口的默认zone
6、external和home类似,但默认允许的程序只有ssh.还可以作为masqueraded(SNAT)
7、dmz和home类似,但默认允许的程序只有ssh
8、block和home类似,但没有默认允许的程序
9、drop和home类似,但不用ICMP errors包响应
每个zone里的组成:
1 2 3 4 5 6 7 8
| service port masquerading (SNAT) port forwarding (DNAT) icmp filter rich rules 优先级最高 interface source
|
配置文件:/etc/firewalld
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| firewall-config 图形界面配置 firewall-cmd 命令行界面配置 firewall-cmd --get-zones firewall-cmd --get-default-zone firewall-cmd --set-default-zone=home firewall-cmd --get-active-zones firewall-cmd --source=<CIDR> [--zone=<zone>] 如不指定zone则改变当前的zone firewall-cmd --remove-source=<CIDR>[--zone=<zone>] firewall-cmd --add-interface=<interface>[--zone=<zone>] firewall-cmd --change-interface=<interface>[--zone=<zone>] --list-all 当前的zone的规则,可加[--zone=<zone>]指定其它zone --list-all-zomes 所有zones --add-service=<service> [--zone=<zone>] --remove-service=<service> [--zone=<zone>] --add-port=<port/protocol> [--zone=<zone>] --remove-port=<port/protocol> [--zone=<zone>] --reload firewalld-cmd --permanent --add-service=samba firewalld-cmd --permanent --remove-service=samba
|
runtime立刻生效,但下次重启不生效
不加--permanent则默认就是runtime的
permanent下次加载生效,可以通过 firewalld-cmd --reload 立刻生效
1
| firewalld-cmd --permanent --add-port=80/tcp
|
rich rules优先级最高
1 2 3 4
| firewall-cmd --permanent --new-zone=test firewall-cmd --permanent --zone=classroom --add-rich-rule='rule family=ipv4 source address=192.168.0.1/32 reject' firewall-cmd --add-rich-rule='rule service name=ftp limit value=2/m accept' firewall-cmd --add-rich-rule='rule protocol value=esp drop'
|
规则位置:/usr/lib/firewalld/zones/
iscsi target
1 2
| yum install targetcli systemctl enable target;systemctl start target
|
以前服务是tgtd,现在是target.(客户端是iscsi)
1 2
| firewalld-cmd --permanent --add-port=3260/tcp firewalld-cmd reload
|
targetcli 进入target命令行模式
1 2 3 4 5
| /backstores/block/ create serverX.disk1 /dev/iSCSI_vg/disk1_lv /iscsi create iqn.2014-06.com.example:serverX /iscsi/iqn.2014-06.com.example:serverX/tpg1/acls/ create iqn.2014-06.com.example:desktopX /iscsi/iqn.2014-06.com.example:serverX/tpg1/luns create /backstores/block/serverX.disk1 /iscsi/iqn.2014-06.com.example:serverX/tpg1portals create 172.25.1.11
|
启动流程
一、 加电自检
二、 选择启动设备
1、读取启动设备第一个扇区,读取引导程序
2、引导程序读取配置文件 /boot/grub2/grub.cfg #不要编辑此文件
上面文件是grub2-mkconfig命令(用这两个文件/etc/default/grub,/etc/grub.d)生成的
3、加载内核,并且以只读方式加载根分区
4、加载init ram disk
三、 加载systemd进程
1、读取/etc/fstab
2、读取所选择的target,如multi-user.target
3、启动该级别的服务
4、/etc/rc.d/rc.local开机脚本 (现在应该是在/usr/lib/systemd/下)
四、 login
1 2 3 4 5
| pvscan;vgscan;lvscan lvchange -a y /dev/rhel/home mknod /dev/rhel/home b 253 1 xfs_repare /dev/rhel/home systemd.unit=emergency.target
|
运行级别:
1 2 3 4 5 6 7
| graphical.target # 相当于原来的level 5 multi-user.target # 相当于原来的level 3 rescue.target # 相当于原来的level 1。单用户模式,不启动服务。但不同的是,现在需要密码才能进入。 powerof.target # 相当于原来的level 0 reboot.target # 相当于原来的level 6 emergency.target # 救援,文件系统故障 rd.break
|
以前可以定义某些服务只在3级别自动启动,而5级别不启动
现在graphical.target 调用multi-user.target,所以没法这么做了。
1 2 3 4 5 6
| systemctl get-default systemctl isolate multi-user.targe systemctl list-dependencies graphical.target | grep target systemctl list-units --type=targe --all systemctl list-unit-files --type=targe --all systemctl isolate multi-user.targe
|
1 2
| dd if=/dev/zero of=/dev/sda bs=446 count=1 grub2-install /dev/sda
|
grub2-mkpasswd-pbkdf2加密
samba客户端多用户
1 2
| echo 'username=brain' >/root/smb-multiuser.txt echo 'password=redhat' >>/root/smb-multiuser.txt
|
1 2 3 4
| vim /etc/fstab //serverX/smbshare /mnt/multiuser cifs credentials=root/smb-multiuser.txt,multiuser,sec=ntlmssp 0 mount /mnt/multiuser su -
|