CentOS7新特性(轉載至https://www.cnblogs.com/nineep/p/67)

就是覺得寫的有意思,共享給大家。

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=cla***oom --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

  1. 讀取所選擇的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章