vmware三种网络类型
- bridged(桥接)通过物理主机网卡架设桥,从而连入实际网络,最接近正式网络环境
- NAT(地址转换)虚拟机通过宿主机转发地址上网,宿主机ip更改虚拟机不需要改。过程:虚拟机上网先通过宿主机转发地址,通过路由器转成公网地址
- host-only(仅主机)虚拟机只能和宿主机通信,不能上网。
配置网卡
/etc/sysconfig/network-scripts/ifcfg-eth0 配置文件
/etc/init.d/network restart 配置完成需重启网卡
动态ip
DEVICE="eth0" 物理设备名
BOOTPROTO="dhcp" 获取ip的方式 static
HWADDR="52:54:00:49:CA:52" mac地址,唯一
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes" 开机启动
TYPE="Ethernet" 以太网
UUID="5b9d5724-dc26-45c6-bca5-916bbc484794"
IPADDR
NETMASK
GATEWAY
DNS1
静态ip
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.125.136.40
PREFIX=24
GATEWAY=10.125.136.254
查看系统版本
1、uname -r :显示操作系统的发行版号
2、uname -a :显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号。
2、uname -a :显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号。
3、cat /etc/redhat-release: 查看centos版本
磁盘分区
磁盘有主分区,扩展分区和逻辑分区。一块硬盘最多4个主分区,最多一个扩展分区,扩展分区不能使用,一个扩展分区上可以分多个逻辑分区
5个分区:
1p+1e(4个L)p:主分区 e:扩展分区 L:逻辑分区
2p+1e(3个L)
p+e<=4
e最多一个,可以没有
设备命名
IDE /dev/hd
hda第一块磁盘
hda1,hda2 分区
hdb第二块磁盘
SCSI:SAS/SATA/SSD
/dev/sda
/dev/sdb
分区的编号1-4,只能给p+e
L分区的编号从5开始
linux分区要求:
(1)/ 根分区
(2)swap(交换)分区
(3)/boot(100-200M)
系统优化
1)不用root管理,普通用户sudo授权管理
2)更改默认远程连接ssh服务端口,禁止远程连接
3)定时自动更新服务器时间/usr/sbin/ntpdate
4)配置yum更新源,从国内更新源下载安装软件包
5)关闭selinux和iptables
6)调整文件描述符的数量,进程和文件打开都会消耗文件描述符
7)定时清理邮件目录垃圾文件,防止inodes节点占满
8)精简并保留必要的开机自启动服务(crond,ssh,network,rsyslog,)
9)内核参数优化/etc/sysctl.conf,执行sysctl -p生效
10)更改字符集,使其支持中文
11)锁定关键系统文件
1.关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 2.关闭不必要的服务 for services in `chkconfig --list |grep 3:on |awk -F' ' '{ print $1" " }'`;do chkconfig $services off done for services in crond irqbalance network lvm2-monitor sshd rsyslog sysstat zabbix-agent ;do chkconfig $services on done 3.ssh修改 sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config是否允许使用基于 GSSAPI 的用户认证.默认值为"no".仅用于SSH-2. sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config sed -i 's/#Port 22/Port 21987/' /etc/ssh/sshd_config /etc/init.d/sshd restart 4.打开文件数 cat >> /etc/security/limits.conf << EOF * soft nproc 65536 单个用户可用的最大进程数量(软限制) * hard nproc 65536 * soft nofile 65536 最大打开文件数(软限制) * hard nofile 65536 EOF echo "* soft nproc 65535" > /etc/security/limits.d/90-nproc.conf 最大线程数 ulimit -SHn 65535 ulimit -SHu 65535 5.历史命令 #Configure history mkdir -p /gomeo2o/histlog/ && chmod -R 777 /gomeo2o/histlog/ && chmod o+t /gomeo2o/histlog/ cat >>/etc/profile << EOF USER_IP=\`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'\` export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S_${USER_IP}_${LOGNAME}]" USER_IP=\`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'\` HISTDIR=/gomeo2o/histlog/.hist if [ -z $USER_IP ] then USER_IP=\`hostname\` fi if [ ! -d $HISTDIR ] then mkdir -p $HISTDIR chmod 777 $HISTDIR fi if [ ! -d $HISTDIR/${LOGNAME} ] then mkdir -p $HISTDIR/${LOGNAME} chmod 300 $HISTDIR/${LOGNAME} fi export HISTSIZE=10000 export HISTFILESIZE=10000 DT=$(date +%Y%m) export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT" chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null EOF 6.内核参数 cat >> /etc/sysctl.conf << EOF fs.file-max = 65536 最大打开文件数 kernel.shmall = 2097152 全部允许使用的共享内存大小 kernel.shmmax = 2147483648 单个段允许使用的大小 kernel.shmmni = 4096 整个系统的内存segment的总个数 kernel.sem = 250 32000 100 128 net.ipv4.tcp_max_syn_backlog = 65536 表示那些尚未收到客户端确认信息的连接(SYN消息)队列的长度 net.core.netdev_max_backlog = 32768 允许送到队列的数据包的最大数目 net.core.somaxconn = 32768 用来限制监听(LISTEN)队列最大数据包的数量 net.core.wmem_default = 8388608 发送套接字缓冲区大小的默认值 net.core.rmem_default = 8388608 接收套接字缓冲区大小的默认值 net.core.rmem_max = 16777216 接收套接字缓冲区大小的最大值 net.core.wmem_max = 16777216 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 为了打开对端的连接,内核需要发送一个SYN 并附带一个回应前面一个SYN 的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK 包的数量。 net.ipv4.tcp_syn_retries = 2 在内核放弃建立连接之前发送SYN 包的数量 net.ipv4.tcp_tw_recycle = 1 开启TCP连接中TIME-WAIT sockets的快速回收 #net.ipv4.tcp_tw_len = 1 #net.ipov4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_fin_timeout = 60 #net.ipv4.tcp_keepalive_time = 120 net.ipv4.ip_local_port_range = 1024 65535 EOF sysctl -p 7.取消三键重启 sed -i /shutdown/'s/^/#/' /etc/init/control-alt-delete.conf 8.定时任务 mkdir /etc/cron.daily.bak mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak 9.时间同步 sed -i '10c estrict 10.125.14.239' /etc/ntp.conf sed -i '11c estrict 10.125.14.240' /etc/ntp.conf sed -i '22,24s/^/#/' /etc/ntp.conf sed -i '19cserver 10.125.14.239 prefer' /etc/ntp.conf sed -i '20cserver 10.144.14.240' /etc/ntp.conf sed -i '36s/^#//' /etc/ntp.conf sed -i '45s/^/#/' /etc/ntp.conf chkconfig --level 35 ntpd on echo "*/30 * * * * /usr/sbin/ntpdate ntp01.intra.gomeplus.com ntp02.intra.gomeplus.com > /dev/null 2>&1" > >/var/spool/cron/root 10.禁用ipv6 # Diable ipv6 cat > /etc/modprobe.d/ipv6.conf << EOFI alias net-pf-10 off options ipv6 disable=1 EOFI echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network 11.设置dns # set local dns sed -i '/nameserver/d' /etc/resolv.conf echo 'search dev.gomeplus.com' >> /etc/resolv.conf ##开发环境 echo 'search test.gomeplus.com' >> /etc/resolv.conf ##测试环境 echo 'nameserver 10.125.14.244' >> /etc/resolv.conf echo 'nameserver 10.125.14.245' >> /etc/resolv.conf echo 'nameserver 10.125.14.246' >> /etc/resolv.conf echo 'nameserver 10.125.14.247' >> /etc/resolv.conf cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 12.设置yum #set LAN Yum rm -f /etc/yum.repos.d/CentOS-Base.repo rm -f /etc/yum.repos.d/CentOS-Debuginfo.repo rm -f /etc/yum.repos.d/CentOS-fasttrack.repo rm -f /etc/yum.repos.d/CentOS-Media.repo rm -f /etc/yum.repos.d/CentOS-Vault.repo wget http://10.125.2.1/ks/gomeo2o.repo -P /etc/yum.repos.d/
修改字符集
查看echo $LANG
临时修改export LANG=zh_CN.UTF-8
永久修改
sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8"#g' /etc/sysconfig/i18n
source /etc/sysconfig/i18n 需要重启
同步互联网时间
/usr/sbin/ntpdate time.nist.gov
企业实例:局域网内做两台ntp server,同步time.nist.gov
历史命令
export HISTSIZE=5
export HISTFILESIZE=5
cat ~/.bash_history
history -c 清除历史命令
history -d xx 指定删除某行
文件描述符
1、表示形式为整数数字,一般使用(0-65535)
2、进程在使用的时候会占用文件描述符
查看默认文件描述符ulimit -n
3、调整 /etc/security/limits.conf
vim /etc/sysctl.conf
sysctl -p 生效
锁定系统文件
chattr +i /etc/passwd
chattr -i /etc/passwd
禁ping
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
sysctl -p
目录
bin 用户命令的目录
boot
dev 设备目录
etc 系统配置及服务配置文件,启动命令的目录
home 普通用户的家目录
lib
lib64
lost+found
media
mnt
opt
proc 显示内核及进程信息的虚拟文件系统
root 超级管理员的家目录
sbin 用户命令
selinux
src
sys
tmp 临时文件目录
usr 用户程序,数据,帮助文件,二进制命令等
var 变化的目录,日志文件,cache的目录
域名解析
/etc/resolv.conf 客户端dns的配置文件 ,优先级别没有网卡配置文件中的dns高
/etc/hosts:局域网,主机名和ip解析,相当于局域网的dns工具
修改主机名
(1)hostname 立即生效
(2)vim /etc/sysconfig/network 重启生效
/etc/fstab 开机挂载信息的文件,使得开机能够自动挂载分区
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
要被挂载的设备 挂载点 类型(挂载成什么类型的文件系统) 参数选项 是否需要备份 检查
fstab出问题,修复
(1)开机提示。输入密码修复
(2)救援模式
/etc/rc.local
开机执行命令
/etc/inittab
开机启动流程,开机级别
1.开机BIOS自检
2.MBR引导
3.grub引导菜单
4.加载内核kernel
5.启动init进程
6.读取inittab文件
7.启动mingetty,进入系统登录界面
inode&&block
ls -hil
inode:索引节点编号:它是文件或者目录在磁盘里的唯一标识,系统读取文件首先要读取到这个索引节点
268540 -rw-r--r-- 1 root root 495 Jun 2 12:13 4.txt
265742 -rw-r--r-- 1 root root 14K Sep 6 16:32 a
268560 -rw-r--r-- 1 root root 8.0K Jul 5 17:28 aa
262164 -rw-r--r-- 1 root root 225 Sep 9 10:01 a.log
262156 -rw-------. 1 root root 5.4K Apr 21 16:57 anaconda-ks.cfg
268721 -rw-r--r-- 1 root root 115 Aug 12 18:51 a.sh
268557 -rw-r--r-- 1 root root 305 Jul 14 11:57 b
inode 权限 硬连接数 属主 属组 大小
inode存储属性信息,包括文件大小,属主,属组,权限,不包含文件名 df -i :查看分区inode
block 保存文件的具体内容
inode知识小结
(1)磁盘分区格式化为ext4文件系统后会生成一定数量的inode和block
(2)inode是索引节点,作用是存放文件的属性信息以及作为文件的索引
(3)ext3/ext4 文件系统的block存放的是文件的实际内容。
企业案例:
一个100M的磁盘分区,分别写入1K的文件或写入1M的文件,分别可以写多少个?
inode是存放文件属性信息的,默认大小128byte,256byte
block是存放文件实际内容的,默认1K或者4K
一个文件至少占用一个inode和block
写小文件inode会先满,大文件block会先满
1M的文件100个
1K的文件数等于inode数量