当前位置:Gxlcms >
数据库问题 >
零基础学习云计算及大数据DBA集群架构师【Linux系统配置及网络配置2015年12月30日周三】
零基础学习云计算及大数据DBA集群架构师【Linux系统配置及网络配置2015年12月30日周三】
时间:2021-07-01 10:21:17
帮助过:2人阅读
.
30/
Mon
*************摘要**************
计划任务
1)一次性计划任务
服务:atd
命令:at
服务存放文件:/etc/init.d/
atd
系统配置文件:/etc/
at.deny
程序缓存文件:/
var/spool/
at
2)周期性计划任务
服务:cron/
crond
命令:crontab
服务存放文件:/etc/init.d/
crond
系统配置文件:/etc/cron.deny /etc/
crontab
程序缓存文件:/
var/spool/cron
/* /var/log/cron
启动流程 *针对rhel6
1)通电——>BIOS——>boot loader(MBR)——>Kernel & initrd——>init
2)BIOS
1>加载CMOS,取得主机的硬件配置
2>自检
3>加载可开机装置,读取MBR
2)boot loader
1>存放于MBR(512bytes),占用446bytes
2>rhel6为grub:
a.配置文件 /boot/grub/menu.lst
b.grub界面的具体操作P722
c.忘记root密码如何操作
3>加载Kernel和initrd
2)kernel&Initial
1> 核心文件存放:/boot/vmlinuz-2.6.32-431.el6.x86_64
2> 虚拟文件系统:/boot/initrd-2.6.32-431.el6.x86_64kdump.img<==核心解压所需的RAM Disk
3> 加载核心模块:/lib/modules/2.6.32-431.el6.x86_64/kernel
4> 记录核心版本: /proc/version
5> 记录核心功能: /proc/sys/kernel
3)init
1> 命令存放文件:/sbin/init
2> 开机执行脚本:/etc/init/rcS.conf /etc/rc.d/sysinit 系统初始化
3> 系统配置文件:/etc/inittab 取得runlevl等级
4> 设置开机服务:/etc/rc.d/rcx.d (根据runlevel确定x,开启相关服务)
5> 预设开机服务:/etc/init.d/*
6> 预设开机配置:/etc/init/*.conf
3> 相关命令:chkconfig
*******************************************************************************************************
计划任务知识点详细解读
==============================================
atd服务的运作方式及管理
==============================================
当执行at程序并在终端输入命令后,
首先系统会到配置文件中寻找at相关的文档
/etc/at.allow <==记录了允许使用at命令的用户名
/etc/at.deny <==记录了不允许使用at命令的用户名
若以上两个文件都没有,则系统默认只有root可以使用at
输入的内容将被保存到以下目录中/var/spool/at/*
#服务的启动命令:
/etc/init.d/atd restart <==重启
rhel6
service atd start 启动
service atd restart重启
service atd status 查看
rhel7
systermctl start atd
systermctl restart atd
systermctl status atd
================================================
at命令的用法
================================================
at [-mldv] TIME
at -c 工作号码
选项与参数:
-m :当 at 工作完成后,即使没有输出讯息,亦以 email 通知使用者该工作
已完成。
-l :at -l =atq,列出目前系统上面的所有该用户的at 排程;
-d :at -d =atrm ,可以取消一个在 at 排程中的工作;
-v :可以使用较明显的时间格式显出 at 排程中的任务列表;
-c :可以列出后面接的该项工作的实际指令内容。
===========================================================
cron/crond 的运作方式及管理
============================================================
首先系统会到配置文件中寻找cron相关的文档
/etc/cron.allow <==记录了允许使用crontab命令的用户名
/etc/cron.deny <==记录了不允许使用crontab命令的用户名
若以上两个文件都没有,则系统默认只有root可以使用crontab
/etc/crontab <==系统的例行性任务
使用 crontab 来建立工作排程后,该项工作就会被记录在/var/spool/cron/* <==以执行者的用户名来命名
执行的工作会被记录在日志中/var/log/cron
==========================================
/etc/crontab文件内容详解
==========================================
[root@rhel6 ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
例如:系统每五分钟执行一次该目录下所有可执行文件
/5 * * * * root run-parts /root/runcron
==========================================
crontab命令的用法
==========================================
crontab [-u username] [-l|-e|-r]
选项与参数:
-u :只有 root 使用,亦即帮其他使用者建立/移除 crontab 工作
排程;
-e :编辑 crontab 工作内容
-l :查阅 crontab 工作内容
-r :移除所有 crontab 的工作内容,若仅要移除一项,请用 -e 去编辑
~~~~~~~~~~~~~~~~
crontab -e 编辑的格式说明:
~~~~~~~~~~~~~~~~
代表意义 分钟 小时 日期 月份 周 命令
数字范围 0-59 0-23 1-31 1-12 0-7 命令
特殊字 代表意义
*(星号) 代表任何时刻
,(逗号) 代表分隔时段
-(减号) 代表一段时间范围
/n(斜线) n 代表数字,『每隔 n 单位间隔』,例如每五分钟进行一次
例题====student在每天 12:00 发信给自己
crontab -e
# vi 编辑画面 每项工作都是一行。
0 12 * * * mail student -s "at 12:00" < /home/student/.bashrc
分 时 日 月 周|<==============命令===========================|
===========================================
--------------------------------------------------------------------------------------------------------------------
系统启动流程知识点详细解读 操作系统为 rhel6
********************************************************************
**********启动流程**********
1.加电,自检
检查系统硬件的健康程度
2.bios(Basic Input Output System)-->启动次序:设定外部存储设备哪个作为我们默认的存储设备
主要启动记录区(Master Boot Record, MBR):主引导记录 512字节
bootloader:位于MBR,446字节,启动项,程序 rhel6 grub/rhel7 grub2
grub被分成了两段
stage1 用来引导stage2
stage2 真正的引导
stage1.5 驱动
grub的配置文件 /boot/grub/grub.conf
root(hd0,0)指定了以硬盘上哪个分区作为根
/boot 由于文件系统的概念在这里还没有生成,所以要直接指定硬盘的某一个位置,
hd 代表的是所有类型的硬盘
hd0 代表第一块硬盘
0 代表第一个分区
quiet 指定内存的位置,传递给内核的参数
initrd 虚拟文件系统,提供一些简单的命令和驱动
initrd 原理将内存的一段空间模拟成磁盘去用
硬件启动到此结束
==========================================
===========================================================
/boot/*
===========================================================
核心与核心模块放在哪
核心: /boot/vmlinuz /boot/vmlinuz-version
核心解压所压缩所需 RAM Disk: /boot/initrd (/boot/initrd-version)
核心模块: /lib/modules/version/kernel /lib/modules/$(uname -r)/kernel
核心原始码: /usr/src/linux (要安装才会有!否则预设不安装)
核心被顺利的加载有几个信息记录下来:
核心版本: /proc/version
系统核心功能: /proc/sys/kernel
核心模块的额外参数设定: /etc/modprobe.conf
================================================================================
/boot
==================================================================================
config-2.6.32-431.el6.x86_64 <==此版本核心被编译时选择的功能与模块配置文件
lost+found
efi
grub <==开机管理程序grub相关数据目录
symvers-2.6.32-431.el6.x86_64.gz
System.map-2.6.32-431.el6.x86_64<==核心功能放置到内存地址的对应表
initramfs-2.6.32-431.el6.x86_64.img
initrd-2.6.32-431.el6.x86_64kdump.img<==虚拟文件系统文件
vmlinuz-2.6.32-431.el6.x86_64<==核心文件
=================
/boot/grub/*
=================
rw-r--r-- device.map <==grub 的装置对应文件
-rw-r--r-- e2fs_stage1_5 <==文件系统定义档
-rw-r--r-- fat_stage1_5 <==FAT 文件系统定义档
-rw-r--r-- ffs_stage1_5 <==FFS 文件系统定义档
-rw------- grub.conf <==grub 在 Red Hat 的配置文件
-rw-r--r-- iso9660_stage1_5<==光驱文件系统定义文件
-rw-r--r-- jfs_stage1_5<==jfs 文件系统定义档
lrwxrwxrwx menu.lst -> ./grub.conf <==配置文件
-rw-r--r-- minix_stage1_5 <==minix 文件系统定义档
-rw-r--r-- reiserfs_stage1_5 <==reiserfs 文件系统定义档
-rw-r--r-- splash.xpm.gz <==开机时在 grub 底下的背景图示
-rw-r--r-- stage1 <==stage 1 的相关说明
-rw-r--r-- stage2 <==stage 2 的相关说明
-rw-r--r-- ufs2_stage1_5 <==UFS 的文件系统定义档
-rw-r--r-- vstafs_stage1_5 <==vstafs 文件系统定义档
-rw-r--r-- xfs_stage1_5<==xfs 文件系统定义档
====================
/boot/grub/menu.list
====================p722
default=0<==默认开机选项,使用第 1 个开机选单 (title)
timeout=5<==若 5 秒内未动键盘,使用默认选单开机
splashimage=(hd0,0)/grub/splash.xpm.gz<==背景图示所在的档案
hiddenmenu<==读秒期间是否显示出完整的选单画面(预设隐藏)
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)<==第一个选单的内容
root (hd0,0)<==代表核心档案放在那个 partition 当中
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_rhel6-LogVol01 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_rhel6/LogVol01 rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
==================================================
/lib/modules/2.6.32-431.el6.x86_64/kernel
==================================================
核心调用的核心模块,即驱动
arch 与硬件平台有关 如cpu等
drivers 一些硬件的驱动程序 显示适配器、网络卡、PCI 相关硬件等
kernel
mm
sound 音效有关的各项模块
crypto 核心所支持的加密的技术
fs 核心所支持的 filesystems
lib 一些函数库
net 网络有关的各项协议数据,还有防火墙模块
rch
------------------------------
lib/modules/$(uname -r)/modules.dep 记录核心支持模块的各项相依性
epmod [-Ane]
选项不参数:
-A :不加任何参数时, depmod 会主动的去分析目前核心的模块,重新写入/lib/modules/$(uname -r)/modules.dep 当中。若加入 -A 参数时,则depmod会去搜寻比 modules.dep 内还要新的模块,更新。
-n :不写入 modules.dep ,而是将结果输出到屏幕上(standard out);
-e :显示出目前已加载的丌可执行的模块名称
范例一:若我做好一个网卡驱劢程序,档名为 a.ko,该如何更新核心相依性?
[root@www ~]# cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net
[root@www ~]# depmod
正对核心模块的命令:
lsmod
modinfo
insmod
rmmod
modprobe [-lcfr] module_name
选项不参数:
-c :列出目前系统所有的模块!(更详细的代号对应表)
-l :列出目前在 /lib/modules/`uname -r`/kernel 当中的所有模块完整文件名;
-f :强制加载该模块;
-r :类似 rmmod 移除
/etc/modprobe.d/* 核心模块的额外参数设定
***********************************************************************************************88
rhel6
1.第一个读取的文件 /etc/init/rcS.conf
2.运行级别 /etc/inittab
Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11 图形化界面
# 6 - reboot (Do NOT set initdefault to this)
/etc/rc.d/rcx.d
chkconfig --list
chkconfig xxxx on 让服务在2345级别开机运行方式
chkconfig xxxx off 让服务在2345级别不要开机启动的方式
chkconfig --level 3 netconsole on 指定某一个服务,在某个运行级别下开机启动
若忘记root密码?
rhel6 在kenel行输入s 进入但用户模式修改root密码
rhel7
stage1依旧存放在MBR中 备份文件是/boot/grub2/i386-pc/boot.img
stage2 /boot/grub2/i386-pc/core.img
grup配置文件常用的一些参数/etc/default/grub文件中
grub主配置文件/boot/grub2/grub.cfg
可以通过/etc/default/grub里的配置参数自动生成一个新的grub配置文件
命令是:grub2-mkconfig -o /boot/grub2/grub.cfg
硬件启动的不同
软件启动:1.第一个进程systemd
2.运行级别不再用数字定义,而是以xxxx.wants来表示,每个运行级别的存放位置都是/etc/systemd/system/....target.wants目录下
3.systemctl enable xxxx服务名称 开机启动
4.在对应启动级别目录下,会有一些软链接文件,该文件代表在该运行级别下,需要开机自起的服务。
centos7/rhel7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。
重置密码主要有rd.break和init两种方法。
rd.break方法:
1、启动的时候,在启动界面,相应启动项,内核名称上按“e”;
2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;
3、进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;
4、mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限;
5、chroot /sysroot/ 改变根;
(1)echo redhat|passwd –stdin root 修改root密码为redhat,或者输入passwd,交互修改;
(2)还有就是先cp一份,然后修改/etc/shadow文件
6、touch /.autorelabel 这句是为了selinux生效
7、ctrl+d 退出
8、然后reboot
至此,密码修改完成
init方法:
1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。
2. 在linux16/linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh
3. 按Ctrl+x启动到shell。
4. 挂载文件系统为可写模式:mount –o remount,rw /
5. 运行passwd,并按提示修改root密码。
6. 如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch /.autorelabel
7. 运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启
=============================================================================
/etc/init/rcS.conf /etc/rc.d/rc.sysinit
=============================================================================
准备系统软件执行的环境的脚本执行档,进行系统初始化
===============================================================================================
/etc/inittab
===============================================================================================
规划默认的runlevel(开机执行等级)
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
=============================================================================
/etc/rc.d/rcx.d
=============================================================================
根据runlevel确定x,开启和关闭相关服务,每个运行级别都对应一个目录
K开头代表启动过程中需要关闭的服务
S开头代表启动过程中需要开启的服务
在每个运行级别里,需要开启的服务和需要关闭的服务都是不一样的
/etc/rc.d/rc3.d/*
K01smartd K74ntpd S10network S26acpid
K02oddjobd K75ntpdate S11auditd S26haldaemon
K05wdaemon K75quota_nld S11portreserve S26udev-post
K10psacct K76ypbind S12rsyslog S28autofs
K10saslauthd K80kdump S13cpuspeed S50bluetooth
K15htcacheclean K84wpa_supplicant S13irqbalance S55sshd
K15httpd K87restorecond S13rpcbind S80postfix
K30spice-vdagentd K88sssd S15mdmonitor S82abrt-ccpp
K50dnsmasq K89rdisc S22messagebus S82abrtd
K50netconsole K95firstboot S23NetworkManager S90crond
K50snmpd K99rngd S24nfslock S95atd
K50snmptrapd S01sysstat S24rpcgssd S97rhnsd
K60nfs S02lvm2-monitor S25blk-availability S97rhsmcertd
K69rpcsvcgssd S08ip6tables S25cups S99certmonger
K73winbind S08iptables S25netfs S99local
=============================================================================
/etc/rc.d/rc.local
=============================================================================
用户自定义开机启动程序
把自己制作的 shell script 完整档名写入 /etc/rc.d/rc.local
=============================================================================
/etc/init.d/*
=============================================================================
规划软件执行的环境,包括系统的主机名、网络设定、语系的处理、文件系统格式及其他服务
abrt-ccpp firstboot messagebus rdisc snmpd
abrtd functions netconsole restorecond snmptrapd
abrt-oops haldaemon netfs rhnsd spice-vdagentd
acpid halt network rhsmcertd sshd
atd htcacheclean NetworkManager rngd sssd
auditd httpd nfs rpcbind sysstat
autofs ip6tables nfslock rpcgssd udev-post
blk-availability iptables ntpd rpcidmapd wdaemon
bluetooth irqbalance ntpdate rpcsvcgssd winbind
certmonger kdump oddjobd rsyslog wpa_supplicant
cpuspeed killall portreserve sandbox ypbind
crond lvm2-lvmetad postfix saslauthd
cups lvm2-monitor psacct single
dnsmasq mdmonitor quota_nld smartd
==============================================
/etc/init/*
==============================================
预设开机配置
control-alt-delete.conf rcS-sulogin.conf
init-system-dbus.conf readahead-collector.conf
kexec-disable.conf readahead.conf
plymouth-shutdown.conf readahead-disable-services.conf
prefdm.conf serial.conf
quit-plymouth.conf splash-manager.conf
rc.conf start-ttys.conf
rcS.conf tty.conf
rcS-emergency.conf
==================================================
/etc/sysconfig/*
==================================================
系统服务的相关配置文件
系统是rhel7
===========================================================
/boot/*
===========================================================
config-3.10.0-229.el7.x86_64 <==此版本核心被编译时选择的功能与模块配置文件
extlinux
grub2 <==开机管理程序grub2相关数据目录
initramfs-0-rescue-aeba48e026da48748623100ffa1ab649.img
initramfs-3.10.0-229.el7.x86_64.img
initrd-plymouth.img <==虚拟文件系统文件
symvers-3.10.0-229.el7.x86_64.gz
System.map-3.10.0-229.el7.x86_64 <==核心功能放置到内存地址的对应表
vmlinuz-0-rescue-aeba48e026da48748623100ffa1ab649
vmlinuz-3.10.0-229.el7.x86_64 <==核心文件
===============================================================================================
/etc/inittab /etc/init.d/*
===============================================================================================
/etc/inittab
==============
# inittab is no longer used when using systemd. <==rhel7已经不再使用这个文件来进行配置了
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.<==在这个文档中添加配置已经没有用了
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target<==ctrlaltdel现在是通过/usr/lib/systemd/system/ctrl-alt-del文件来配置
# systemd uses ‘targets‘ instead of runlevels. By default, there are two main targets:<==系统使用标签来代替runlevel开机等级,默认情况下,有两种标签
# multi-user.target: analogous to runlevel 3<==multi-user.target代表runlevel3,文本模式
# graphical.target: analogous to runlevel 5<==graphical.targe代表runlevel5,图形模式
# To view current default target, run:<==想知道目前系统的默认标签,可以运行 systemctl get-default
# systemctl get-default
# To set a default target, run:<==想设置默认标签,可以运行systemctl set-default TARGET.target
# systemctl set-default TARGET.target
===============
/etc/init.d/*
===============
rhel7系统的服务执行档都已经迁移至/etc/rc.d/init.d/*
服务的指令为systemctl
=============================================================================
/etc/rc.d/*
============================================================================
init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
----------------------------------------------------------------------------
rhel7当中已经将系统服务的相关内容放在/usr/lib/systemd/system/目录下
服务的指令为systemctl
=============================================================================
/usr/lib/systemd/system/*
============================================================================
rhel7系统规划软件执行的环境,包括系统的主机名、网络设定、语系的处理、文件系统格式及其他服务
ctrl-alt-del.target rpcbind.target
dbus-org.freedesktop.hostname1.service rpc-gssd.service
dbus-org.freedesktop.locale1.service rpc-statd-notify.service
dbus-org.freedesktop.login1.service rpc-statd.service
dbus-org.freedesktop.machine1.service rpc-svcgssd.service
dbus-org.freedesktop.timedate1.service rsyncd.service
dbus.service rsyncd.socket
dbus.socket rsyslog.service
dbus.target.wants rtkit-daemon.service
debug-shell.service runlevel0.target
default.target runlevel1.target
default.target.wants runlevel1.target.wants
dev-hugepages.mount runlevel2.target
dev-mqueue.mount runlevel2.target.wants
dm-event.service runlevel3.target
dm-event.socket runlevel3.target.wants
dmraid-activation.service runlevel4.target
dnsmasq.service runlevel4.target.wants
dracut-cmdline.service runlevel5.target
dracut-initqueue.service runlevel5.target.wants
dracut-mount.service runlevel6.target
dracut-pre-mount.service saslauthd.service
dracut-pre-pivot.service serial-getty@.service
dracut-pre-trigger.service shutdown.target
dracut-pre-udev.service shutdown.target.wants
dracut-shutdown.service sigpwr.target
ebtables.service sleep.target
=============================================================================
/etc/sys*
============================================================================
/etc/sysctl.conf 系统的预设配置已经换到以下目录
/usr/lib/sysctl.d/00-system.conf
-------------------------------------------------
/etc/system-release 系统版本信息
Red Hat Enterprise Linux Server release 7.1 (Maipo)
---------------------------------------------------
/etc/system-release-cpe
cpe:/o:redhat:enterprise_linux:7.1:ga:server
---------------------------------------------------
/etc/sysconfig:系统服务的相关配置文件
atd init network rsyslog
是否启用网络,设置主机名和网关
authconfig ip6tables-config network-scripts run-parts
身份证的机制 设置网卡
autofs iptables-config nfs samba
cbq irqbalance ntpdate saslauthd
cgred kdump pluto selinux
console kernel radvd smartmontools
cpupower ksm raid-check sshd
crond libvirtd rdisc sysstat
ebtables-config libvirt-guests readonly-root sysstat.ioconf
fcoe man-db rhn virtlockd
firewalld modules rpcbind virt-who
grub netconsole rsyncd wpa_supplicant
----------------------------------------------
/etc/sysctl.d:
99-sysctl.conf
-----------------------------------------------
/etc/systemd:
bootchart.conf logind.conf system.conf user.conf
journald.conf system user
零基础学习云计算及大数据DBA集群架构师【Linux系统配置及网络配置2015年12月30日周三】
标签: