CentOS7版本的新特性
综述
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可以看到
systemctl status|start|stop|restart|reload UNIT
systemctl enable|disable UNIT
systemctl mask UNIT 完全disable,使unit不被手动启动或开机启动
systemctl unmask UNIT
systemctl list-unit-files [--type=service] 相当于chkconfig --list (但多了一种状态:static,表示这个服务不能单独启动,而是由其它服务调用带动启动)
systemctl list-units [--type=service] [--all] 其中all表示也显示inactive的
systemctl --failed --type=service 查看失败的服务
systemctl list-dependencies UNIT
systemctl reboot|poweroff
systemctl get-default
systemctl set-defalut graphical.target | muti-user.target
只查类型是service的Unit
systemctl --type=service
systemctl status sshd.service -l 查看更详细信息
systemctl is-active | is-enabled sshd.service
修改root密码:
1.重启
2.在boot loader界面按任何键
3.光标移至需要启动的条目
4.按e
5.光标移到以linux16开头的那行
6.在行末添加rd.break
7.按ctrl+x启动
8.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
keepcache=1
yum clean all 可以清除所有下载的包
时间管理
timedatectl
timedatectl list-timezone
timedatectl set-timezone Asia/Shanghai
timedatectl set-time 9:00:00
以前/etc/ntp.conf
现在/etc/chrony.conf
服务:chronyd
chronyc sources -v 查看同步过程
日志管理
journalctl 可以查看指定条件的日志,比如按owner、时间段、产生的进程等
-x, --catelog 只查看/var/logmessages
-n 指定行数,默认10行
例如:
journalctl --since 9:00:00 --until 9:30:00 __SYSTEM_UNIT=httpd.service
GPT分区
以前超过2T的硬盘用fdisk分区最多只能用2T,所以以前用parted:
parted /dev/sdb
mklabel gpt
mkpart 83 1 2621440
即使这样分区后,用fdisk -l /dev/sdb查看分区大小时,刚才创建的分区仍是2T
红帽/centos 5:partprobe
红帽/centos 6:partx -a
红帽/contos 7: partprobe 或 kpartx
现在不用parted,改用gdisk
gdisk /dev/sdc
2
n
1 最多可以分128个分区
-2G 负数表示从后往前分2G空间,数据放在硬盘的最外面,性能最好。负数表示从里往外分,即先分性能差的部分
格式化
mkfs.xfs /dev/sdc1
xfs_info /dev/sdc1
xfs_growfs 在线拉伸,不支持缩小
xfsrestore和 xfsdump备份还原
网络管理
网络接口命名,实际是被systemd-udevd改了
可以通过dmesg | grep eth查看
命名由三部分组成:
1.en是以太网,wl是WLAN, ww是WWAN
2.o是板载on board的,s是热插拔,p是PCI
3.数字,代表索引、ID或port
如果无法匹配,则用传统命名
nmcli con show
nmcli dev status
下面这部分还有疑问
centos7中,网卡配置文件需要加NM_CONTROLLED="no",否则:
改网卡配置文件(如改IP)再service network restart 不生效
这种情况下要生效需要重启或执行以下命令:
nmcli con reload
nmcli con show
nmcli con down "..."
nmcli con up "..."
改计算机名
现在是/etc/hostname
以前是/etc/sysocnfig/network
防火墙
默认改成firewalld
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里的组成:
service
port
masquerading (SNAT)
port forwarding (DNAT)
icmp filter
rich rules 优先级最高
interface
source
配置文件: /etc/firewalld
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立刻生效
firewalld-cmd --permanent --add-port=80/tcp
rich rules优先级最高
firewall-cmd --permanent --new-zone=test 注意,只能添加permanent 的zone
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
yum install targetcli
systemctl enable target;systemctl start target
以前服务是tgtd,现在是target.(客户端是iscsi)
firewalld-cmd --permanent --add-port=3260/tcp
firewalld-cmd reload
targetcli 进入target命令行模式
/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 最后这个IP是自己的IP,即开启监听。不加的话不是监听所有,而是都不监听,可以设成0.0.0.0 监听所有
启动流程
一、加电自检
二、选择启动设备
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
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
运行级别:
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,所以没法这么做了。
systemctl get-default显示当前target
systemctl isolate multi-user.targe 相当于以前的init 3命令
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
dd if=/dev/zero of=/dev/sda bs=446 count=1
grub2-install /dev/sda
grub2-mkpasswd-pbkdf2 加密
samba客户端多用户
echo 'username=brain' >/root/smb-multiuser.txt
echo 'password=redhat' >/root/smb-multiuser.txt
vim /etc/fstab
//serverX/smbshare /mnt/multiuser cifs credentials=root/smb-multiuser.txt,multiuser,sec=ntlmssp 0
mount /mnt/multiuser
su -brain
CentOS7版本的新特性的更多相关文章
- JDK各个版本的新特性jdk1.5-jdk8
JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一 ...
- atitit.js 各版本 and 新特性跟浏览器支持报告
atitit.js 各版本 and 新特性跟浏览器支持报告 一个完整的JavaScript实现是由以下3个不同部分组成的 •核心(ECMAScript)--JavaScript的核心ECMAScrip ...
- JDK几个高版本的新特性
JDK 高版本的新特性 1.JDK5的新特性: 自动拆装箱 见Integer部分笔记 泛型 增强for循环 静态导入 可变参数 见集合部分笔记 枚举 是指将变量的值一一列出来,变量的值只限于列举出来的 ...
- JDK各个版本的新特性jdk1.5-jdk8[转]
JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一 ...
- JDK各个版本的新特性jdk1.5-jdk8(转)
原文:http://www.cnblogs.com/langtianya/p/3757993.html JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要 ...
- (数据科学学习手札129)geopandas 0.10版本重要新特性一览
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 就在前不久,我们非常熟悉的Python地理 ...
- (数据科学学习手札139)geopandas 0.11版本重要新特性一览
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,就在几天前,geopandas ...
- jdk各个版本的新特性(jdk1.7,1.8,1.9)
用了这么久的jdk,应该会有很多人和我一样,不知道各个版本的jdk的一些新特性,这里简单总结一下.. jdk1.7新特性: 1.在Switch中可以用String字符串 2.对Java集合(Colle ...
- Java1.0-1.12各个版本的新特性
JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.1 1997- ...
随机推荐
- it人必进的几大网站
1.chinaunix网址:http://www.chinaunix.net/简介:中国最大的linux/unix技术社区. 2.itpub网址:http://www.itpub.net/ 简介:有名 ...
- mybatis传参问题总结
一. 传入单个参数 当传入的是单个参数时,方法中的参数名和sql语句中参数名一致即可 List<User> getUser(int id); <select id="get ...
- Akka源码分析-Remote-Actor创建
在之前的博客中,我们分析过local模式下Actor的创建过程,最终还是调用了provider的actorOf的函数创建了Actor,在remote模式下provider就是RemoteActorRe ...
- ACM_小游戏(棋盘博弈)
Problem Description: 最近kiki无事可做,于是他想玩棋盘游戏.棋盘的大小是n * m.首先,棋子放置在右上角(1,m). 每次可以将棋子向左方,下方或左下方移动一个位置.当移动到 ...
- Android内存管理(13)常见产生内存泄漏的原因
1.集合类泄漏 集合类如果仅仅有添加元素的方法,而没有相应的删除机制,导致内存被占用.如果这个集合类是全局性的变量 (比如类中的静态属性,全局性的 map 等即有静态引用或 final 一直指向它), ...
- Linux命令(004) -- watch
对Linux系统的操作过程中,经常会遇到重复执行同一命令,以观察其结果变化的情况.惯用的方法是:上下键加回车,或是Ctr+p然后回车.今天我们来了解一下watch命令,它可以帮助我们周期性的执行一个命 ...
- mysql使用出现错误:mysqld dead but subsys locked
现象: 登陆时候出现如下信息 [root@localhost home]# mysql -uroot -p123456mysql: [Warning] Using a password on the ...
- semantic、vue 使用分页组件和日历插件
最近正在试试semantic-ui,结合了vue,这里忍不住吐槽semantic和vue的友好度简直不忍直视,不过既然用了,这里就分享几个用到的插件了 1.分页组件(基于vue) var pageCo ...
- Hadoop基础(一)
Hadoop 基础知识 大数据已经火了很长很长时间了,从最开始是个公司都说自己公司的数据量很大,我们在搞大数据.到现在大数据真的已经非常成熟并且已经在逐渐的影响我们的生产生活.你可能听过支付宝的金融大 ...
- Android传递中文参数方法(之一)
最近在做app,用的volley传参,有一个地方传中文参数不行(貌似是get方式),我又试了下post方式,成功了,记录下,以后有用! RequestQueue requestQueue = Voll ...