存档

2016年12月 的存档

RHEL7/CentOS7系统配置和管理变化汇总(转)

2016年12月26日 没有评论

RHEL 7带来了很多系统配置和管理上的变化,虽然有些不习惯,但个人认为大家应该去适应它们,而不是因循守旧,因为变化总是有原因的,它们大致都代表了未来的趋势,你不可能一直停留在原地踏步。

1、GRUB升级至2.0,bootloader的配置文件也调整至/boot/grub2/grub.cfg
查看启动项:
# cat /boot/grub2/grub.cfg |grep menuentry
menuentry ‘CentOS Linux (4.2.5-1.el7.elrepo.x86_64) 7 (Core)’ –class centos …
menuentry ‘CentOS Linux (3.10.0-229.20.1.el7.x86_64) 7 (Core)’ –class centos …
查看默认启动项:
# grub2-editenv list
saved_entry=CentOS Linux (4.2.5-1.el7.elrepo.x86_64) 7 (Core)

修改默认启动内核为4.2.5:
# grub2-set-default ‘CentOS Linux (4.2.5-1.el7.elrepo.x86_64) 7 (Core)’
2、/etc/inittab 不再使用(when using systemd)

cat /etc/inittab 看下就知道了:

# systemd uses ‘targets’ instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
3、主机名保存到了/etc/hostname 文件下
安装系统时配置的主机名,保存到了 /etc/hostname 。
4、几乎全面由systemd管理服务,SysV已经退居二线了,想配置服务得用systemctl

systemctl enable/disable sshd.service
其实启用服务就是在当前“runlevel”的配置文件目录(/etc/systemd/system/multi-user.target.wants/)里, 建立/usr/lib/systemd/system 里面对应服务配置文件的软链接;禁用服务就是删除此软链接。
有兴趣就自己看看 /usr/lib/systemd/system 里的文件,语法跟旧版/etc/init.d/ 里的服务脚本完全不同,也不能再用 /etc/init.d/sshd restart 之类的指令启动服务器了。

常用指令:
# systemctl list-unit-files -t service
# systemctl status firewalld.service
# systemctl enable/disable firewalld.service
# systemctl is-enabled firewalld.service
查看系统启动以来的message信息
# journalctl -b (类似 dmesg )

另,/etc/rc.local 文件默认没有执行权限:

# cat /etc/rc.local

系统不再建议使用此文件,而是建议创建自己的 systemd services:

# It is highly advisable to create own systemd services or udev rules

# to run scripts during boot instead of using this file.

#

# Please note that you must run ‘chmod +x /etc/rc.d/rc.local’ to ensure

# that this script will be executed during boot.

如果希望使用该文件(在开机时运行某命令),注意记得给该文件添加执行权限。
5、/etc/sysct.conf 中的默认配置移到了/usr/lib/sysctl.d/00-system.conf

# cat /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/.conf file
# 在这里设置配置会覆盖 00-system.conf 下的默认配置,或者
# 在 /etc/sysctl.d/ 下创建一个 .conf 的文件也可以

6、是否关闭IPv6:不建议完全关闭ipv6模块,否则一些组件会有问题

from Centos 7 FAQ:
Upstream employee Daniel Walsh recommends not disabling the ipv6 module, as that can cause issues with SELinux and other components, but adding the following to /etc/sysctl.conf:

# net.ipv6.conf.all.disable_ipv6 = 1 //但开启这个会导致postfix无法启动
net.ipv6.conf.default.disable_ipv6 = 1 //设置这一项还是可以的

注:总感觉没啥必要关闭ipv6了,如果有域名解析的问题,那也应该是DNS服务器去适配。

7、新的网卡命名规则(默认不再是 eth0/1 )

旧的 eth0/1 命名规则,是不确定的,机器增减网卡后,原有的网卡名字可能会变化。RHEL7支持几种新的命名规则,其中默认的基于硬件信息的规则可以保证网卡名字自动生成并且是固定的,但是会比较难以“阅读”(read),比如 enp2s0,enp3s0。

引用自Redhat官方文档:

8.3. UNDERSTANDING THE PREDICTABLE NETWORK INTERFACE DEVICE NAMES
The names have two character prefixes based on the type of interface:

en for Ethernet,

wl for wireless LAN (WLAN),

ww for wireless wide area network (WWAN).

The names have the following types:

Table 8.1. Device Name Types

Format

Description

o on-board device index number
s[f][d] hotplug slot index number
x MAC address
ps[f][d] PCI geographical location
ps[f][u ][..][c][i] USB port number chain

更多信息参考:
新的网卡命名规则,参见:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Consistent_Network_Device_Naming.html#sec-Understanding_the_Predictable_Network_Interface_Device_Names
还有Centos 7 FAQ:https://wiki.centos.org/FAQ/CentOS7
8、ll /etc/udev/rules.d/,默认不存在 70-persistent-net.rules 了

网卡MAC只在网卡配置文件里有,一旦变了我只需要改网卡配置文件?(拷贝虚拟机的情况的常见问题)
在图形界面下修改MAC后网卡不认了,测试结果是只需要改网卡配置文件的MAC,而且相关的多个配置文件都要改才行。

(注:这个我没实际测试)
9、ip / ss 指令替代 ifconfig route arp / netstat
用 ip neighbour 代替 arp -n
其他 ip 指令 大家自己看帮助吧。
10、旧的 network 脚本(service)和 ifcfg 文件

Centos7 开始,网络由 NetworkManager 服务负责管理,相对于旧的 /etc/init.d/network 脚本,NetworkManager 是动态的、事件驱动的网络管理服务。旧的 /etc/init.d/network 以及 ifup,ifdown 等依然存在,但是处于备用状态,即:NetworkManager 运行时,多数情况下这些脚本会调用 NetworkManager 去完成网络配置任务;NetworkManager没有运行时,这些脚本就按照老传统管理网络。
需要注意的是:
1)不建议 systemctl disable NetworkManager.service
2)因为旧的 network 脚本不兼容 ifcfg-* 文件里的新的配置项名称 IPADDR0/PREFIX0/GATEWAY0
3)除非把后面那个 0 去掉,否则开机是无法启动网卡的
11、网络配置
(大部分引用自网上文章)
1)nmtui 配置基本网络连接

nmtui 属于curses-based text user interface(文本用户界面), 类似 Centos6 的 setup 工具,但只能编辑连接、启用/禁用连接、更改主机名。系统初装之后可以第一时间用nmtui配置网络,挺方便。
2)nmcli 和其他网络设置
nmcli 是命令行形式的工具,功能要强大、复杂的多。
# nmcli help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OBJECT和COMMAND可以用全称也可以用简称,最少可以只用一个字母,建议用头三个字母。OBJECT里面我们平时用的最多的就是connection和device,这里需要简单区分一下connection和device。
device 叫网络接口,是物理设备
connection 是连接,偏重于逻辑设置

多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。
这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应的connection。
我们可以用nmtui把两个连接改成我们熟悉的名字(nmcli也能,但比较麻烦哦),需要注意的是,enp0s3设备对应的连接名改为eth0,但对应的ifcfg文件并没有改名。
连接的配置文件 ifcfg-*,可以用 DEVICE 指定设备名,也可以用HWADDR指定设备的MAC地址,最终结果都一样的指向某个设备(网络接口)。
所以,对一个网络接口设置不同的连接,可以快速的切换不同的网络配置,这个真的满厉害的。
如果希望系统重启后仅up某个特定连接,那么可以把其他连接配置文件的ONBOOT=no,ONBOOT=no的连接也可以随时up。
3)编辑连接
用nmtui编辑连接后,ifcfg文件也会有相应的改动;手工修改ifcfg后,nmtui中也能看到。
但是,不论用nmtui还是直接修改ifcfg文件,想让新的配置生效,我们需要load连接配置文件并重新up连接。

举例,我们编辑ifcfg-enp2s0-1,把IP改为10.0.3.111,然后执行nmcli con reload 或 nmcli con load /etc/sysconfig/network-scripts/ifcfg-enp2s0-1
nmtui 手工为网卡添加多个IP(secondary IP)
新IP已经被加入到ifcfg-enp2s0中,原始地址的关键字是 IPADDR0、PREFIX0,新地址的关键字是 IPADDR1、PREFIX1 。
nmtui 添加IP后,需要执行命令来生效:
nmcli con load /etc/sysconfig/network-scripts/ifcfg-enp2s0
nmcli dev connect enp2s0

3.1)手工添加IP到ifcfg-eth0

手工添加IP到ifcfg-enp2s0后,需要执行命令来生效:
nmcli con load /etc/sysconfig/network-scripts/ifcfg-enp2s0 或 nmcli con reload
nmcli dev connect enp2s0

3.2)用ip addr add 指令添加/删除IP:即刻生效,重启不保留。
3.3)使用子连接配置文件 ifcfg-*:X(Centos5/6时代):不支持了。
但 ifconfig eth0:1 192.168.1.22 up 这种指令还是支持的!
3.4)配置DNS nameserver(不直接修改/etc/resolv.conf 了)
也是在 /etc/sysconfig/network-scripts/ifcfg-enp2s0 文件中配置,在其中添加
DNS1=”10.36.109.251″
DNS2=”10.36.112.251″
与手工添加IP到ifcfg-enp2s0一样,需要执行命令来生效:
nmcli con load /etc/sysconfig/network-scripts/ifcfg-enp2s0 或 nmcli con reload
nmcli dev connect enp2s0
这样,添加的DNS1/DNS2会同步到/etc/resolv.conf文件中。
(注:直接修改/etc/resolv.conf文件,重启系统或运行上述命令后会丢失)
4)网络配置总结:
ip addr show 中显示的IP才是有效的。

ip addr add 能在线添加IP,立即生效,但重启即丢。

ip addr del 能在线删除IP,立即生效,但重启即丢。

子连接配置文件(ifcfg-*:X)已经无效了。

配置DNS nameserver(不直接修改/etc/resolv.conf 了),同在 ifcfg-enp2s0 这类文件中。

nmtui 和 编辑ifcfg-enp2s0 文件效果基本相同,都不能立即生效,必须 load 连接再重新connect网络设备,即:

nmcli con load /etc/sysconfig/network-scripts/ifcfg-enp2s0 或 nmcli reload
nmcli dev connect enp2s0

如何在CentOS 7 / RHEL 7 运行单用户模式进行root的密码重置

2016年12月26日 没有评论

步骤一,开机时随便按下键盘,进入以下菜单

步骤二: 选择第一项,按e键进行修改

步骤三,定位到 ro(
linux 16 or linuxefi
)

步骤四:把ro改成 “rw init=/sysroot/bin/sh”. 完成之后按 “Ctrl+x”

现在你可以进入单用户模式了

依次输入以下命令进行root密码修改,修改完成之后强制重启即可。

chroot /sysroot/
passwd root
touch /.autorelabel

然后强行重启就可以了。

在CentOS 7上给一个网卡分配多个IP地址

2016年12月25日 没有评论

我们现在可以在CentOS/RHEL 7中给一个网卡分配多个ip地址。

如你所知,网卡的配置文件存储在 /etc/sysconfig/network-scripts/ 目录下。每个网卡的详细内容将会以不同的名字存储,比如ifcfg-enp0s3。

让我们看下ifcfg-enp0s3的细节。

cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
示例输出:

TYPE=”Ethernet”
BOOTPROTO=”none”
DEFROUTE=”yes”
IPV4_FAILURE_FATAL=”no”
IPV6INIT=”yes”
IPV6_AUTOCONF=”yes”
IPV6_DEFROUTE=”yes”
IPV6_FAILURE_FATAL=”no”
NAME=”enp0s3″
UUID=”e9f9caef-cb9e-4a19-aace-767c6ee6f849″
ONBOOT=”yes”
HWADDR=”08:00:27:80:63:19″
IPADDR0=”192.168.1.150″
PREFIX0=”24″
GATEWAY0=”192.168.1.1″
DNS1=”192.168.1.1″
IPV6_PEERDNS=”yes”
IPV6_PEERROUTES=”yes”
好的,现在我们将在相同的子网中分配多个地址了。

编辑文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
像下面那样加入额外的IP地址。

TYPE=”Ethernet”
BOOTPROTO=”none”
DEFROUTE=”yes”
IPV4_FAILURE_FATAL=”no”
IPV6INIT=”yes”
IPV6_AUTOCONF=”yes”
IPV6_DEFROUTE=”yes”
IPV6_FAILURE_FATAL=”no”
NAME=”enp0s3″
UUID=”933cdc9b-b383-4ddd-b219-5a72c69c9cf0″
ONBOOT=”yes”
HWADDR=”08:00:27:3F:AB:68″
IPADDR0=”192.168.1.150″
IPADDR1=”192.168.1.151″
IPADDR2=”192.168.1.152″
PREFIX0=”24″
GATEWAY0=”192.168.1.1″
DNS1=”192.168.1.1″
IPV6_PEERDNS=”yes”
IPV6_PEERROUTES=”yes”
如你所见,我已经加了两个IP地址:IPADDR1=”192.168.1.151″ & IPADDR2=”192.168.1.152″

类似地,你可以加入更多的ip地址。

最后,保存并退出文件。重启网络服务来使更改生效。

systemctl restart network

现在,让我们检查是否已经加入了ip地址。

ip addr

分类: Linux, 解决方案 标签: ,

怎么查看系统安装日期

2016年12月22日 没有评论

很多朋友在使用电脑及服务器的时候都有反映越用越卡,今天,就为大家分享一下怎么查看电脑及服务器系统的安装日期,以初步判定电脑及服务器大概是由于什么情况导致的卡慢。

找到运行后,在运行栏里输入“cmd”,然后回车。

然后,我们在该界面下输入”systeminfo”,然后回车,等待系统自动运行。

系统运行完毕,找到如下界面,你就能看到如图所示的信息,即可查询到系统安装日期!

各国NTP服务器列表

2016年12月13日 没有评论

当前已提供的各国NTP服务器列表

[INTERNATIONAL NTP server list.]

区域[zone] 域名[Domain] IP池[IP Pool]
中国[China] cn.ntp.org.cn [202.108.6.95] [202.112.29.82] [110.75.190.198] [115.28.122.198] [182.92.12.11]
[120.25.108.11] [110.75.186.249] [110.75.186.248] [110.75.186.247]
中国台湾[ChinaTaiwan] tw.ntp.org.cn [120.119.28.1]
美国[America] us.ntp.org.cn [24.56.178.140] [131.107.13.100]
新加坡[Singapore] sgp.ntp.org.cn [139.162.20.174] [103.11.143.248]
韩国[korea] kr.ntp.org.cn [218.234.23.44] [211.233.40.78]
德国[Germany] de.ntp.org.cn [131.188.3.220] [131.188.3.223]
日本[Japan] jp.ntp.org.cn [133.243.238.243] [157.7.152.213]

-注:多组IP则为多IP轮询[Group IP was using IP-list polling]。

分类: 网络产品 标签: ,

修改默认安装XenServer系统盘(4G)大小

2016年12月5日 没有评论

安装XenServer系统盘默认大小为4G,安装前我们可以调整大小。
注:此教程只适用于在全新安装XenServer的时候使用,已经安装过XenServer的无法修改系统盘(4G)大小。
注:如果带数据重装,安装的时候一定要保证XenServer系统盘的大小一定要和以前一样大,否则数据就会丢失。

1、进入XenServer系统安装界面。

2、进入高级安装菜单界面,按F2键。

3、进入命令模式
进入命令行,输入“shell”,按回车键。

4、编辑系统安装管理配置文件
编辑“constants.py”文件,在bash-3.2#后面输入如下命令:
vi /opt/xensource/installer/constants.py

5、修改安装系统盘大小
修改默认的系统盘大小,在92行,找到root_size=4096,修改为需要安装的系统盘大小 (备注:单位为MB)

6、保存并退出
“ESC”退出编辑—>输入“:wq”冒号+wq保存退出。

7、退出命令模式
退出命令模式,输入“exit” 。

8、开始安装XenServer系统

9、查看结果
安装完毕后,通过以下命令查看系统分区大小:
df -hal

分类: Linux, 解决方案 标签: ,