文章目录
一 Linux常用系统日志
一 常用系统日志
日志文件 | 用途 |
---|---|
/var/log/messages | 记录大多数系统日志信息,包括启动、IO错误、网络和程序等问题 |
/var/log/secure | 记录安全和身份验证等相关消息和错误 |
/var/log | rsyslog将所有日志文件写入到该目录下 |
/var/log/maillog | 与邮件服务器相关消息的日志文件 |
/var/log/cron | 与定时任务执行相关的日志文件 |
/var/log/boot.log | 与系统启动相关的消息记录 |
二 系统日志优先级
rsyslogd服务使用日志消息的设备和优先级来确定如何处理,一般通过/etc/rsyslog.conf
文件进行配置。
rsyslog处理的消息可能出现在多个不同的日志文件中,为了避免这种情况,将严重性字段设为none
,表示定向到这一设备的所有消息都不添加到指定的日志文件中。
编码 | 优先级 | 严重性 |
---|---|---|
0 | emerg | 系统不可用 |
1 | alert | 必须立即采取措施 |
2 | crit | 严重状况 |
3 | err | 非严重错误状况 |
4 | warning | 警告状况 |
5 | notice | 正常但重要的事件 |
6 | info | 信息性事件 |
7 | debug | 调试级别消息 |
三 其他日志文件
日志文件 | 用途 | 打开方式 |
---|---|---|
/var/log/btmp | 记录错误的、失败的登陆尝试和验证消息 | last /var/log/btmp 或 last |
/var/log/wtmp | 记录每个用户登录、注销及系统的启动、停机的事件 | who /var/log/wtmp 或 last |
/var/run/utmp | 记录当前登录的每个用户的信息,仅暂时保留 | who /var/run/utmp 或 last |
/var/log/dmesg | 包括内核缓冲信息以及硬件方面的信息 | cat /var/log/dmesg 或 dmesg |
/var/log/lastlog | 记录所有用户的最近登录信息 | lastlog |
打开 /var/log/wtmp
文件:
打开 /var/run/utmp
文件:
打开 /var/log/lastlog
文件:
二 DNS域名解析
一 定义
用户在浏览器输入URL,浏览器就会向该URL对应的服务器发送请求,获得对应的IP,才能将资源返回给用户。
简单来说,DNS就是将URL转化成IP的过程。
二 配置文件
在Linux系统中如果想要 ping 通外网,比如ping www.baidu.com
,如果失败,很有可能是没有配置DNS。
一种方法是,在 /etc/sysconfig/network-scripts/ifcfg-eth0
文件中,添加参数 DNS1=223.5.5.5
;
一种方法是,在 /etc/resolv.conf
文件中,添加参数 nameserver 223.5.5.5
。
三 DNS解析流程
本文以访问www.baidu.com域名的DNS解析流程为例,进行说明。
1 )首先查询本地缓存
2)接着查询本地hosts文件是否有域名解析的IP
3)其次请求LDNS的缓存与向LDNS的查询
4)LDNS作为“中间商”,开始迭代查询,先请求根域名服务器,得到顶级域名服务器和.com
5)从顶级域名服务器得到权威域名服务器的IP,得到baidu.com
6)从权威域名服务器得到www.baidu.com
的IP资源
7)资源返回给LDNS和本地客户端,并进行缓存,以便下次查询或其他用户的相同资源查询
四 总结
1)域名解析的顺序是:本地的缓存----->本地hosts
文件----->LDNS的缓存----->LDNS查询----->根域名服务器----->顶级域名服务器----->权威域名服务器----->结果返回给本地客户端和LDNS并缓存
2)递归查询:客户端向LDNS发送DNS解析结果的请求,LDNS返回给客户端一个准确的结果,就是递归查询的过程。本文1-3都属于递归查询。
迭代查询:A向B发送获取资源的请求,B没有给A所需要的结果,反而告诉A可以向C发送请求,A则向C发送请求获取资源,以此类推,就是迭代查询。本文4-6都属于迭代查询过程。
三 vim编辑器的三种模式
四 Linux虚拟机克隆后网卡名从eth0变成eth1
一 系统环境
原本被克隆的主机是 rhel6.9
的操作系统。
二 问题发现
对 rhel6.9
的主机克隆后,发现无法SSH远程连接,从而发现可能是网卡的问题需要解决。
首先检查网卡服务是否启动
发现network
服务是正常运行的。
接着检查本地网卡的IP是否显示正常
在 rhel6
系统中默认设置的第一块网卡是eth0
,而这里克隆后的网卡是eth1
。
但我们的网卡配置文件中设置的网卡名称应该是eth0
,所以这里有问题了。
经过确认,网卡配置文件无误。
此时我们尝试重启一下网卡,看一下会有什么提示。
此处提示,设备eth0似乎不存在
。
三 解决过程
打开 /etc/udev/rules.d/70-persistent-net.rules
文件,会发现里面有eth0
和eth1
两块网卡。
我们只需要把 eth0
网卡信息删掉或注释掉,将eth1
网卡名改为eth0
。
然后找到该设备的MAC地址。
再打开网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0
,找到参数 HWADDR
,修改后面的值为新的mac地址。
保存退出后,重启网卡即可。
service network restart
执行命令后,网卡启动成功。
由于是克隆主机,我们需要修改IP和主机名,所以SSH连接后,直接在配置文件修改即可。
最后记得重启网卡,并重新登陆。(因为IP变了,所以要新建SSH会话)
service network restart
重新建立会话。
再进行SSH远程连接。
由此可见,网卡名和IP地址正确,克隆机设备修复成功。
五 在rhel6系统部署iscsi远程存储
一 需求
1)首先在服务端添加一块10G的硬盘,并进行分区,得到其中的1G作为远程存储设备
2)其次在服务端创建名为iqn.2023-01-05.com:server
的新iscsi目标,并且仅限于客户端iqn.2023-01-06.com:client
。
3)在客户端可以发现并登录到新目标。
4)在新磁盘上创建 XFS 文件系统,并将其持久挂载到/data
目录上。
二 环境准备
服务端IP:10.0.0.100 主机名:rhel-6
客户端IP:10.0.0.101 主机名:rhel6-01
[root@rhel-6 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.9 (Santiago)
[root@rhel-6 ~]# uname -r
2.6.32-696.el6.x86_64
三 服务端配置
3.1 添加硬盘
添加一块10G硬盘。
Linux磁盘分区和管理
3.2 安装软件
执行命令安装软件 yum install scsi-target-utils -y
3.3 编写配置文件
[root@rhel-6 ~]# tail -4 /etc/tgt/targets.conf
<target iqn.2023-01-05.com:server>
backing-store /dev/sdb
initiator-address 10.0.0.101
</target>
此处补充说明配置文件下的一些常用参数:
参数 | 说明 |
---|---|
backing-store | 定义一个逻辑单元(LUN),这个LUN通常是一个普通文件或者块设备 |
initiator-address | 限制可以连接target的客户端地址范围 |
incominguser | 限制可以连接target的客户端用户 |
3.4 启动服务
[root@rhel-6 ~]# service tgtd start
Starting SCSI target daemon: [ OK ]
[root@rhel-6 ~]# chkconfig tgtd on
[root@rhel-6 ~]# service tgtd status
tgtd (pid 6464 6461) is running...
[root@rhel-6 ~]# netstat -lntup|grep 3260
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 6461/tgtd
tcp 0 0 :::3260 :::* LISTEN 6461/tgtd
3.5 检查配置信息
[root@rhel-6 ~]# tgt-admin -show
Target 1: iqn.2023-01-05.com:server
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 10737 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sdb
Backing store flags:
Account information:
ACL information:
10.0.0.101
四 客户端配置
4.1 安装软件包
安装软件包 yum install -y iscsi-initiator-utils
4.2 启动服务
[root@rhel6-01 ~]# /etc/init.d/iscsid start
正在启动 iscsid: [确定]
[root@rhel6-01 ~]# chkconfig iscsid on
[root@rhel6-01 ~]# /etc/init.d/iscsid status
iscsid (pid 52352) 正在运行...
4.3 发现目标
[root@rhel6-01 ~]# iscsiadm -m discovery -t sendtargets -p 10.0.0.100
10.0.0.100:3260,1 iqn.2023-01-05.com:server
4.4 登陆目标
[root@rhel6-01 ~]# iscsiadm -m node -T iqn.2023-01-05.com:server -l
Logging in to [iface: default, target: iqn.2023-01-05.com:server, portal: 10.0.0.100,3260] (multiple)
Login to [iface: default, target: iqn.2023-01-05.com:server, portal: 10.0.0.100,3260] successful.
检查后可以识别本地客户端多了一块磁盘。
补充说明,如果想要退出登录并删除目标,依次执行下列两个命令:
iscsiadm -m node -T iqn.2023-01-05.com:server --logout
iscsiadm -m node -T iqn.2023-01-05.com:server -o delete
4.5 实现开机自动挂载
首先创建挂载目录。
mkdir /data
接着创建成分区。
[root@rhel6-01 ~]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10240, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-10240, default 10240): +1G
Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x35da8dc7
Device Boot Start End Blocks Id System
/dev/sdb1 1 1025 1049584 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@rhel6-01 ~]# partprobe /dev/sdb
检查创建好的分区。
[root@rhel6-01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 1.5G 0 part [SWAP]
└─sda3 8:3 0 18.3G 0 part /
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 1G 0 part
接着格式化分区。
[root@rhel6-01 ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
警告: 252 块未使用.
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65664 inodes, 262144 blocks
13119 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
然后实现开机自动挂载。
此处需要注意的是,配置文件 /etc/fstab
文件中需要加一个参数 _netdev
,否则在设备重启后会报错。
[root@rhel6-01 ~]# tail -1 /etc/fstab
/dev/sdb1 /data ext4 defaults,_netdev 0 0
[root@rhel6-01 ~]# mount -a
[root@rhel6-01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 5.2G 12G 31% /
tmpfs 491M 64K 491M 1% /dev/shm
/dev/sda1 190M 35M 146M 20% /boot
/dev/sdb1 976M 1.3M 924M 1% /data
五 对部署进行测试
最后我们进行测试,能否从客户端在设备中写一个文件。
[root@rhel6-01 ~]# cd /data/
[root@rhel6-01 data]# echo client > test
[root@rhel6-01 data]# ll
总用量 20
drwx------ 2 root root 16384 1月 6 10:59 lost+found
-rw-r--r-- 1 root root 7 1月 6 11:06 test
[root@rhel6-01 data]# cat test
client
经过测试,设备挂载成功。