centos盘符绑定?centos7双网卡绑定bond

大家好,关于centos盘符绑定很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于centos7双网卡绑定bond的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

解决centos7.2中磁盘iowait过高(centos7启动后盘符错位问题)

(一)简述

每天都收到磁盘iowait告警信息,尤其是日志服务器在进行大量的读写操作过程中,从而造成系统处于崩溃边缘,为查找磁盘iowait由于什么原因造成的以及后续的系统的优化点。centos有许多查找问题的工具,也有高级的。

I/O Wait就是一个需要使用高级的工具来debug的问题,当然也有许多基本工具的高级用法。I/O wait的问题难以定位的原因是因为我们有很多工具可以告诉你说I/O受限了,但是并没有告诉你具体是哪些进程们引起的。

具体的思路如下:top。查看由cpu一行浪费在iowait上的cpu百分比=iostat-x 2 5查看某块磁盘正在被写入= iotop查找最高的磁盘I/O对应的进程= lsof-p pid查看通过一个进程打开所有文件或打开一个文件的所有进程。

(二)具体步骤如下:

(1)通过top命令来确认是否是I/O导致系统缓慢。

[root@iZ23iod5vslZ~]# toptop- 15:38:32 up 40 days, 5:59, 3 users, load average: 0.00, 0.01, 0.05Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombieCpu(s): 0.4 us, 0.2 sy, 0.0 ni, 99.2 id, 98 wa, 0.0 hi, 0.0 si, 0.1 stKiB Mem: 32520424 total, 31492136 used, 1028288 free, 412772 buffersKiB Swap: 0 total, 0 used, 0 free. 25902892 cached Mem PID USER PR NI VIRT RES SHR S CPU MEM TIME+ COMMAND 18988 root 20 0 11.647g 3.611g 7896 S 2.7 11.6 507:57.30 java 28 root 20 0 0 0 0 S 0.3 0.0 6:43.31 rcuos/3 1 root 20 0 49556 3412 1912 S 0.0 0.0 0:14.60 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:48.28 ksoftirqd/0 5 root 0-20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.83 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/4 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/5 15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/6 16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7

从Cpu一行我们可以看到浪费在I/O Wait上的CPU百分比;这个数字越高说明越多的CPU资源在等待I/O权限.具体的解释如下:

0.4 us用户空间占用CPU的百分比。

0.2 sy内核空间占用CPU的百分比。

0.0 ni改变过优先级的进程占用CPU的百分比

2 id空闲CPU百分比

98 wa IO等待占用CPU的百分比

0.0 hi硬中断(Hardware IRQ)占用CPU的百分比

0.0 si软中断(Software Interrupts)占用CPU的百分比

在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了

(2)通过iostat-x 3 3查看那块磁盘正在被写入。

[root@iZ23iod5vslZ~]# iostat-x 3 3Linux 3.10.0-123.9.3.el7.x86_64(iZ23iod5vslZ) 08/14/2017 _x86_64_(4 CPU)avg-cpu: user nice system iowait steal idle 0.70 0.00 0.16 0.75 0.05 98.34Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 21.18 0.32 18.33 9.94 195.06 21.98 0.08 4.11 11.44 3.98 1.54 2.88xvdb 0.00 15.21 1.23 1.98 38.41 68.76 66.70 0.08 25.48 3.59 39.10 1.09 0.35xvdc 0.00 0.07 0.00 0.91 0.00 36.25 79.43 0.10 106.88 12.53 106.92 1.33 0.12avg-cpu: user nice system iowait steal idle 0.75 0.00 0.17 0.08 0.08 98.91Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 2.33 0.00 0.67 0.00 12.00 36.00 0.00 5.50 0.00 5.50 5.50 0.37xvdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00xvdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00avg-cpu: user nice system iowait steal idle 0.75 0.00 0.17 0.00 0.00 99.08Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 3.33 0.00 1.67 0.00 34.67 41.60 0.01 3.00 0.00 3.00 1.60 100.27xvdb 0.00 9.00 0.00 1.67 0.00 42.67 51.20 0.01 5.40 0.00 5.40 1.80 0.30xvdc 0.00 0.33 0.00 0.67 0.00 4.00 12.00 0.00 2.00 0.00 2.00 2.00 0.13

每隔三秒更新一次,一共打印了三次。-x时打印出扩展选项。第一次打印的信息可以被忽略,剩下的报告,都是基于上一次间隔的时间打印出来。

上述的列子中xvda的 util(利用率)是100.27,有进程往磁盘中写入数据。

(3)通过iotop查找高I/O对应的进程

[root@iZ23iod5vslZ~]# iotopTotal DISK READ: 0.00 B/s| Total DISK WRITE: 15.67 K/sActual DISK READ: 0.00 B/s| Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND 18793 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start18987 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 cronolog/guojinbao/tomcat/logs/catalina.Y-m-d.out18796 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start13193 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start 1 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 systemd--switched-root--system--deserialize 22 2 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [ksoftirqd/0]16388 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 AliYunDun 5 be/0 root 0.00 B/s 0.00 B/s 0.00 0.00 [kworker/0:0H]16390 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 AliYunDun 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [migration/0] 8 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcu_bh] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/0] 10 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/1] 11 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/2]

从上述的例子中可以看出进程号为cronolog18987占用了大量的磁盘IO

(4)通过lsof-p pid查找由那个文件引起的IOwait

[root@iZ23iod5vslZ~]# lsof-p 18987COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEcronolog 18987 root cwd DIR 202,17 20480 2400258/guojinbao/tomcat/logscronolog 18987 root rtd DIR 202,1 4096 2/cronolog 18987 root txt REG 202,1 48627 152798/usr/local/sbin/cronologcronolog 18987 root mem REG 202,1 2107600 132826/usr/lib64/libc-2.17.socronolog 18987 root mem REG 202,1 160240 132819/usr/lib64/ld-2.17.socronolog 18987 root 0r FIFO 0,8 0t0 42614018 pipecronolog 18987 root 1w CHR 1,3 0t0 1028/dev/nullcronolog 18987 root 2u CHR 136,0 0t0 3/dev/pts/0(deleted)cronolog 18987 root 3w REG 202,17 5704875979 2400280/guojinbao/tomcat/logs/catalina.2017-08-14.out

lsof命令可以展示一个进程打开的所有文件,或者打开一个文件的所有进程。从这个列表中,我们可以找到具体是什么文件被写入,根据文件的大小和/proc中io文件的具体数据.

为了确认我们的怀疑,我们可以使用/proc文件系统,每个进程目录下都有一个叫io的文件,里边保存这和iotop类似的信息

[root@iZ23iod5vslZ~]# cat/proc/18987/io rchar: 58891582418wchar: 58891579778syscr: 46556085syscw: 46556077read_bytes: 212992write_bytes: 59580235776cancelled_write_bytes: 0

read_bytes和write_bytes是这个进程从磁盘读写的字节数。这个例子中cronolog读取了212992byte(0.2M)数据,写入了59580235776bytes(55.4G)数据到磁盘上。

(5)通过df-h/guojinbao来查看服务器那块磁盘的根目录

[root@iZ23iod5vslZ~]# df-h/guojinbao/Filesystem Size Used Avail Use Mounted on/dev/xvdb1 45G 38G 4.7G 89/guojinbao

最后,通过以上的信息我们可以放心的说lsof的结果就是我们要查找的文件

CentOS上配置VirtualBox虚拟机及安装Windows的教程

开始之前,首先需要使用 VirtualBox最小化安装 CentOS 7.0。

系统设置

使用 root账号登录,进行系统设置。

安装组件

安装系统必须的组件。

复制代码

代码如下:

yum install gcc bzip2 kernel-devel wget

修改主机名称

设置一个便于识别的主机名称,便于以后使用 ssh登录时方便识别。

复制代码

代码如下:

vi/etc/hostname

SSH设置

取消 DNS解析,使 ssh登录更快。编辑/etc/ssh/sshd_config文件,更改以下配置项:

复制代码

代码如下:

UseDNS no

安装 VBoxGuestAdditions

安装了 VBoxGuestAdditions后才可以使用共享目录的功能。

注意:此时需要重启一下系统,否则可能无法继续安装。

点击 VirtualBox运行界面的 Devices菜单,选择 Insert Guest Additions CD Image。

挂载光盘并安装 VBoxGuestAdditions

复制代码

代码如下:

mkdir/media/cdrom

mount/dev/cdrom/media/cdrom

/media/cdrom/VBoxLinuxAdditions.run

umount/media/cdrom

rm-rf/media/cdrom

用户配置

设置 root用户密码为 vagrant。

创建 vagrant用户,密码与用户名相同。

配置 vagrant用户执行 sudo命令时不需要输入密码。并且可以后台执行指令。运行 visudo命令。然后添加如下配置:

复制代码

代码如下:

vagrant ALL=(ALL) NOPASSWD: ALL

Defaults requiretty

设置 vagrant用户证书,使其可以无密码登录系统

复制代码

代码如下:

cd/home/vagrant

mkdir.ssh

wget--no-check-certificate

chmod 700.ssh

chmod 600.ssh/authorized_keys

chown-R vagrant:vagrant.ssh

清理系统

清理临时文件以减小制作出来的 Box文件体积。

复制代码

代码如下:

yum clean all

rm-rf/tmp/*

rm-f/var/log/wtmp/var/log/btmp

history-c

然后关闭虚拟系统。

打包

回到物理机终端,使用下面的命令打包输出 box.

复制代码

代码如下:

vagrant package--base [virtualbox name]--output [box name].box

创建一个 windows的虚拟环境

开始之前,需要先准备一个 windows的安装文件,如 win2003.iso。

使用命令行创建 VirtualBox虚拟机

创建一个名为 win2003的虚拟机:

复制代码

代码如下:

vboxmanage createvm--name win2003--register

设置虚拟机

复制代码

代码如下:

#设置系统类型

vboxmanage modifyvm win2003--ostype Windows2003

#开启电源管理

vboxmanage modifyvm win2003--acpi on

#设置系统内存

vboxmanage modifyvm win2003--memory 512

#添加网卡,网络模式为 NAT

vboxmanage modifyvm win2003--nic1 nat

创建一个的虚拟硬盘,容量为 5G

复制代码

代码如下:

vboxmanage createhd--filename win2003.vdi--size 5000

绑定虚拟硬盘

复制代码

代码如下:

#创建虚拟机的硬盘控制器

vboxmanage storagectl win2003--name HDD--add ide--bootable on

#绑定创建的虚拟硬盘

vboxmanage storageattach win2003--storagectl HDD--port 0--device 0--type hdd--medium win2003.vdi

添加光驱并绑定系统安装文件

复制代码

代码如下:

vboxmanage storageattach win2003--storagectl HDD--port 0--device 1--type dvddrive--medium win2003.iso

启动并安装系统

复制代码

代码如下:

vboxheadless-s win2003

在桌面环境的电脑上使用远程桌面软件,连接服务器的 3389端口就可以看到虚拟机的画面,并进行安装操作了。

使用 vboxheadless命令启动的虚拟机是会话模式的,而且默认启用了远程桌面功能 VRDP。适合首次运行虚拟机安装系统。安装完系统后,想要以后台服务的方式运行,应当使用 vboxmanage startvm命令:

复制代码

代码如下:

vboxmanage startvm win2003--type headless

安装增强包

VirtualBox默认安装好系统后,使用起来不是很顺畅。特别是鼠标操作时,迟滞感十分严重。安装增强包可以明显改善操作感。首先下载 VirtualBox Guest Additions增强包: VBoxGuestAdditions_4.3.20.iso。然后使用下面的命令挂载增强包到光驱:

复制代码

代码如下:

vboxmanage storageattach win2003--storagectl HDD--port 0--device 1--type dvddrive--medium VBoxGuestAdditions_4.3.20.iso

然后启动系统,双击光驱盘符,执行安装程序后重启完成。

添加共享目录

共享目录方便虚拟机和主机之间交换文件,使用下面的命令进行共享目录的添加和删除:

添加共享目录:

复制代码

代码如下:

vboxmanage sharedfolder add win2003--name share-name--hostpath/host/path/folder/--automount

删除共享目录:

复制代码

代码如下:

vboxmanage sharedfolder remove win2003--name share-name

其它常用技巧

1.添加 NAT网络模式下的端口转发

复制代码

代码如下:

#添加远程桌面的转发

vboxmanage modifyvm vmname--natpf1"remote desktop,tcp,,33089,,3389"

vboxmanage modifyvm vmname--natpf2"remote desktop,udp,,33089,,3389"

2.关闭虚拟机

复制代码

代码如下:

vboxmanage controlvm vmname poweroff

3.开机自动启动虚拟机

设置自动开机的数据库路径:

复制代码

代码如下:

vboxmanage setproperty autostartdbpath/etc/vbox

添加要开机启动的虚拟机:

复制代码

代码如下:

vboxmanage modifyvm vmname--autostart-enabled on--autostop-type acpishutdown

启动管理服务:

复制代码

代码如下:

service vboxautostart-service restart

grub启动u盘

grub启动u盘(grub启动u盘里的系统)去年装了一台NAS机箱作为家庭影音存储使用,安装了Windows系统,再安装各种虚拟机和软件后,发现CPU内存占用较高,配置操作略微麻烦。

前电脑段时间发现GXNAS大神网盘更新了黑群晖新版DS918+_7.0.1-42218系统安装包等文件,于是通过U盘启动大法修改grub.cfg文件vid,pid值,成功玩上DSM 7.0版本。

一、配置安装

找了个闲置的金士顿4G大小的U盘,使用ChipEasy读取U盘PID和VID、win32diskimager写群晖引导到U盘、DiskGenius改盘符PID和VID等等几个步骤下来就做好了黑群晖NAS的引导U盘,详细步骤可以找找网上多数大神的教程。

我连了一台老显示器来操作主板bios设置从U盘引导启动,这是安装成功上DSM 7.0版本后显示器显示内容。同时,我还在bios系统中开通了网卡WOL远程唤醒功能及电源通电开机,内网穿透远程访问会用得到,后面会说说。

二、存储播放

毕竟是专业的NAS存储管理系统,升级上DSM 7.0版本后,不仅整体界面美观,在内网的文件共享和同步、多媒体串流等都非常的方便,Synology Photos在照片和视频的整理浏览也很轻松,官方的迅雷也上架了套件中心,BT下载不限速。

先设置好了通过Cloud Sync登录同步百度网盘文件,朋友通过百度网盘分享的内容,我保存到云盘相应的文件夹内,就能自动下载到NAS主机内了。最近找了些软考的资料自动同步到其中,准备认真备考!

玩Linux设备似乎绕不开Docker容器,毕竟真的太多好玩的东西了。NAS组了多媒体中心,jellyfin作为多媒体服务器是多数人的选择,另外在官网jellyfin.org/clients/上还有各平台对应版本下载安装,我在手机电脑平板电视都安装后不用再打开浏览器输入地址就能访问同步收看。

三、远程开关机

官方群晖可以在控制面板,电源设置来使用网络唤醒功能,黑群就稍稍麻烦些,但解决方案也很多,我一直使用着国内老牌远程连接SaaS服务商贝锐下辖的向日葵来实现随时开关机在线,这次用的是向日葵智能插线板P2,相比自己调试设置路由器ARP绑定等,用向日葵智能插线板P2实现远程开关机简便了太多。

向日葵插线板P2整体外观跟普通插线板并没有多大区别,配有独立安全门的新国标二合一五孔组合插孔位、3个5V/2A充电功率的USB接口。

细看下其用料扎实,国标GB/T 5023.3-2008绝缘电缆有1.5米长,能满足大多数人的日常使用,外壳采用V0级阻燃PC材料,官方宣称可以达到750°C的耐高温阻燃。

向日葵插线板P2除了能用电源键进行一键断电之外,几组插孔还分别标注了S1、S2、S3编号,每个插孔都可以独立绑定主机并进行远程控制,换言之这个插线板最多可以同时分控三台不同的主机。

我在NAS的主板bios系统中开通了网卡WOL远程唤醒功能及电源通电开机,向日葵插线板P2通过WiFi连接,绑定主机后很简单地就实现了远程开关机功能。

电脑

在"向日葵"APP上可以看到对应编号的插座位置、开关键,以及每个插孔还带有倒计时和定时功能设置。

四、远程访问

远程开关机都实现了,虽然没有申请公网IP,用向日葵来解决一系列远程控制的问题也是小意思了。

1.首先是通过向日葵远程控制软件来控制我的另一台游戏主机,再用这一台游戏主机来远程访问这台装了DSM7.0的NAS,这样套娃再套娃。说到游戏主机,要特别推荐向日葵游戏版,支持windows远控,最高可达144帧、支持自定义游戏键盘,电脑偶尔远程摸摸鱼。

2.向日葵远程控制软件也推出Linux版本,通过Linux远程控制macOS、Android、Windows、Linux设备,也能随时接受其他设备远程协助。分为图形版本和命令行版本(命令行版本仅支持被控,不支持发起远控),目前支持Ubuntu、Deepin、CentOS系统。通过Docker容器,以上向日葵11 for Linux安装包支持的系统都能在其注册表内搜索到并安装使用。

电脑

Gif图片来源:kasmweb/desktop- Docker Image| Docker Hub

3.另外我也开通了DDNSTO内网穿透,同样是利用Docker容器安装DDNSTO的 synology插件到设备,实现了网址访问NAS。

五、结语

从小白开始瞎玩了一段时间的黑群DSM7.0,主要功能还是作为影音存储播放功能,有简单方便的地方,也确实丰富了各种爱折腾的心。

电脑

阅读剩余
THE END