linux

linux上用kvm快速创建虚拟机

教大家怎么快速的来使用KVM创建一个虚拟机和管理虚拟机,如果有准备好ISO系统安装文件的话,就算是第一次使用KVM,只要跟着操作,也可以很快能创建出一个虚拟机了。 一、查看系统是否支持KVM虚拟化 查看cpu是否支持虚拟化 # grep -E'(vmx|svm)' /proc/cpuinfo flags :fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflushdts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tscart arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperfeagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnttsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epbinvpcid_single intel_pt ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority eptvpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smapclflushopt xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notifyhwp_act_window hwp_epp md_clear spec_ctrl intel_stibp flush_l1d 说明CPU是Intel的,如果是AMD的CPU,应该是“svm”。

MySQL报错Ignoring query to other database的真正原因

大家都知道报这个错的原因是忘了用户名前加-u这个参数造成的,比如是这样登录了MySQL mysql -root -p (注意看,-root前面没有加u) 登录后,不管你执行什么命令,都会提示Ignoring query to other database mysql>show databases; Ignoring query to other database 要解决这个问题,只要退出后加上-u这个参数就可以了。 # mysql -uroot -p 网上很多都写到这里为止了,但并没有去分析为什么没有加-u也能登录成功,为什么登录成功后执行sql语句会报错。 这里我就给大家分析一下为什么会这样的真正原因。 这是因为当没有带上-u执行 “mysql -root -p ”时,mysql命令把-root识别成了它的参数,而不是root这个用户。并且把root这个词识别成了四个参数,拆开来就是“-r -o -o -t"。

Linux上自动挂载磁盘的几种方法

一、前言 我们添加磁盘后,一般都想让磁盘在重启系统后能自动挂载。 自动挂载的方法有好几种,可根据实际情况来使用,各有各的优势,也有一些需要注意的地方。 二、写进fstab 把磁盘挂载信息写进fstab文件中,一般是最先想到的方法。 只要把正确的格式写入进/etc/fstab文件中,这个磁盘就会在开机时自动挂载。 fstab文件中的格式: 磁盘路径 挂载的目录 磁盘格式 挂载的参数 是否允许备份 开机是否fsck检测磁盘 一般我们最常用的配置类似这样: /dev/vg01/lv00 /mnt xfs defaults 0 0 意思是/dev/vg01/lv00这个LVM分区挂载在/mnt目录上,磁盘格式为xfs,使用的是默认的defaults挂载参数,0表示不备份磁盘,0表示开机不检测磁盘。 三、写进rc.local 虽然有了/etc/fstab这种自动挂载方式,但在一些场合下,我们还需要用rc.local这种方式。 一般我们写入到/etc/fstab这里的挂载磁盘,是服务器自带的磁盘,是一般不会出问题的磁盘,也是需要从一开机就从底层开始启动的磁盘。 但也有一些我们不能保证是正常在用的磁盘,比如NFS远程磁盘、光驱磁盘等,这些磁盘都是有可能失效的,如果写进/etc/fstab中,一旦失效后重启,系统就可能卡住,这不是我们想看到的。 写进rc.local很简单,就是把mount命令写进去即可。 mount -t 磁盘格式 磁盘分区 挂载的目录

在Linux系统上启用Telnet服务

一、前言 Telnet是一个用来远程连接服务器或者设备执行操作的一个服务。但是由于是使用明文传输,现在基本上已经弃用了。 为什么我这里还要讲这个安装呢?主要是有时候在Linux系统做升级OpenSSH时,为了保险起见,一般都需要先启用Telnet服务,以防止由于OpenSSH升级失败而登录不上服务器或者设备。 由于Telnet服务在CentOS6和CentOS7上安装和配置方法都不一样,所以需要分开来写。 二、在CentOS6上的安装及启用 2.1 安装telnet-server 在CentOS6中,telnet服务是由xinetd管理的,没有单独的服务,所以需要一起安装xinetd才行。 注意,在Linux系统中,telnet服务相对应的软件名称是telnet-server,而不是telnet,telnet这个名称只是telnet服务的客户端。 # yum install xinetd telnet-server 执行 chkconfig –list,在最后一段会显示由xinetd管理的一些服务。 # chkconfig --list ........ xinetd based services: chargen-dgram: off chargen-stream: off daytime-dgram: off daytime-stream: off discard-dgram: off discard-stream: off echo-dgram: off echo-stream: off rsync: off tcpmux-server: off telnet: off time-dgram: off time-stream: off 可以看到,telnet服务是off的状态。

Jenkins常用插件

Pipeline Pipeline Maven Integration pipeline中使用withMaven语法必须安装的插件 Credentials Binding 凭据插件 HTTP Request Plugin 代替curl,curl也可以调用凭据的 Image Tag Parameter 通过harbor获取镜像列表作为参数 simple theme jenkins的皮肤风格插件,可以美化jenkins页面 timestamps 时间插件,可以让日志显示时间 Email Extension 邮件通知 Publish Over SSH 使用ssh的方式与remote服务器进行交互 Subversion Plug-in 版本管理 SVN 的插件

sendEmail的安装

注意,这款软件不是sendmail,而是另外一个简单的命令行的邮件发送工具,生产上常用它来发送告警邮件。 这款软件的安装方式就是Linux下最简单的一种软件安装方法:直接下载赋权即可使用。 下载: 打开网站http://caspian.dotconf.net/menu/Software/SendEmail/ 可以右键,复制链接地址,使用wget下载 #wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz 解压: #tar -zxvf sendEmail-v1.56.tar.gz #cd sendEmail-v1.56 把里面的主要程序复制到环境变量目录下,即可使用 #cp sendEmail /usr/bin/ 这个工具都不需要赋权,因为本身已经设置好了执行权限。 然后就可以执行此命令了。 # sendEmail -help 命令说明: -f xxx@itbing.cn 发件人邮箱 -s mailserver 如果能直接连接的机器,就可以直接填QQ邮箱之类的SMTP服务器地址 -u "我是邮件主题" 邮件的标题 -o message-content-type=html 邮件内容的格式,html表示它是html格式 -o message-charset=utf8 邮件内容编码 -xu xxx@itbing.

Linux运维常用的一些网站

一、技术问答网站 https://stackoverflow.com https://www.linuxquestions.org 二、软件下载站: 2.1 Linux软件包下载 http://pkgs.org 各种开源的Linux(CentOS/Debian/Ubuntu)系统软件基本都有下载 2.2 rpm包软件的下载站 http://rpmfind.net/ http://rpm.pbone.net 2.3 主要是SUSE下的软件 https://software.opensuse.org/package/dstat 注意下拉查看显示其它版本 2.4 托管站,有各种开源软件 http://sourceforge.net https://github.com 三、软件源站 3.1 epel源 https://dl.fedoraproject.org/pub/epel/ 3.2 OracleLinux系统源 http://public-yum.oracle.com/index.html 四、各系统下载站: 4.1 OracleLinux、Solaris、Oracle等下载: Oracle 软件交付云:http://edelivery.

生产上Linux系统投入使用前需要做的基本配置

平时在管理系统时,总有一些不人性化的地方,也有很多不方便管理的地方,我们可以通过修改一些系统配置来使我们管理系统更方便。 一、系统优化 1.1 命令实时记录 编辑/etc/bashrc,添加以下两句: shopt -s histappend PROMPT_COMMAND='history -a' 1.2 给历史命令加上执行时间 编辑/etc/profile文件,加入如下一行: export HISTTIMEFORMAT='%F %T ' 1.3 超时退出 编辑/etc/profile文件,加入如下一行: export TMOUT=3600 1.4 关闭selinux 编辑/etc/sysconfig/selinux SELINUX=disabled 1.5 sysstat vim /etc/sysconfig/sysstat HISTORY=31

Linux运维生产上必须要掌握的一些配置操作

一、必须要熟练掌握的操作 1.1 忘记root密码(进入单用户模式) 1.2 进急救模式 1.3 配置IP地址 1.4 配置主机名 1.5 扫描磁盘、磁盘分区、挂载分区 1.6 LVM卷组管理 1.7 分区的扩展和收缩 1.8 VNC设置 1.9 定时设置 二、详细配置步骤 2.1 忘记root密码 忘记root密码这种事情不会经常发生,但是是生产中必须要会的一个技能。 RHEL7之前的系统都比较简单,RHEL7之后有些变化。 我这里都以RHEL6系统来做配置,有些比较不一样的配置也会加上RHEL7。 进入单用户模式 RHEL6: step1:开机加载后,按任意键,进入启动菜单栏 step2:进入后看菜单栏下面的文字说明。按字母e可以编辑启动前的菜单命令 step3:按e后,进入菜单编辑状态,按上下键,把光标移到第二行,再按e step4:在命令最后加上1或者字母single,都表示单用户,回车 step5:按字母b进行启动(注意,这里不是回车) step6:确定是否是单用户模式\r\n启动完全后,会直接进入系统,不会有输入密码等提示。 可以输入runlevel查看系统级别: #runlevel N S 或者 #runlevel n1 S 都说明现在的系统是单用户模式。 然后就可以使用passwd命令修改系统密码。

Linux系统上软件的安装

Linux的软件安装,一般都需要借助于命令或者需要提前设置好库环境才行,没有Windows安装软件那么方便快捷,这也是Linux在桌面领域一直输于Windows的一个原因之一。 一、Linux软件发布形式 Linux软件主要有三种发布形式: 1.1 源码发布 直接源码压缩打包方式,后缀一般为tar.gz,tar.bz2,zip这类文件,这种源码包Linux/Unix各大平台都能支持安装。 1.2 发行版本自定义打包方式 发行版本自己定义的软件打包方式,如RedHat的RPM包,debian的deb包。 1.3 编译好的软件 厂商自己编译打包好的软件,直接赋予执行权限就可以执行的软件包。 二、Linux软件安装方式 根据软件发布方式的不同,安装方法也不同,主要有四种方法: 2.1 源码编译安装 源码方式的软件包安装,需要gcc工具支持,Linux/Unix等系统平台都支持安装,但需要耗费比较长的时间进行编译。 源码安装一般都是四步: 2.1.1 解压压缩包 tar -zxvf *.tar.gz或者tar -zjvf *.tar.bz2或者unzip -o *.zip 2.1.2 配置参数 .

一次MySQL主备同步出错恢复

错误提示: Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from position > file size; the first event 'mysql-bin.

[MySQL错误]Can't find file: ./mysql/plugin.frm

错误提示: /usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 180530 15:19:43 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 版本环境: mysql> select version(); +------------+ | version() | +------------+ | 5.

恢复已销毁的 ZFS 存储池

同事发个消息给我,说大事不好了,他用zpool destroy命令把盘销毁了,但是现在突然发现里面还有东西,又想恢复。 我说别慌,冷静,我有一招,马上能恢复。 祭出神命令 #zpool import -D 可以查看哪些盘被销毁了,盘的状态怎么样,能不能恢复 pool: backup id: 5154272182900538157 state: ONLINE (DESTROYED) action: The pool can be imported using its name or numeric identifier. config: backup ONLINE c1t0d0 ONLINE c1t1d0 ONLINE 可以看到,state状态虽然是DESTROYED,但盘的状态都是online的

Linux下杀毒软件clamav的安装和使用

最近发现有台服务器中毒了,手动去查杀总是会有遗漏,最后安装了Linux下的杀毒软件clamav,使用起来还是不错的。 环境: Linux 6.8 版本: clamav-0.99.2.tar.gz 依赖关系: yum install pcre* zlib zlib-devel libssl-devel libssl openssl version 0.9.8 or higher 一.安装clamav 有两种方法安装: 1.yum安装方法 用epel源进行安装,但是需要系统能访问外网才行。 安装后会自动生成服务文件,启动服务后,会实时监控扫描连接,虽然安全性高了,不过可能会对服务器性能有影响。 可使用clamdsacn命令手动扫描系统,扫描速度快。 开始安装: 根据自己的系统版本下载相应的epel安装文件 #wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm #wget https://dl.

do_ypcall: clnt_call: RPC: Unable to send; errno = Operation not permitted

系统环境: Oracle Linux 5.8 操作过程: 应同事需求,想对一台服务器做IP限制,让它只能访问某几个IP。 用iptables做output限制 如限制只能访问192.168.0.9 #iptables -I OUTPUT -d 192.168.0.9 -j ACCEPT 前面有做所有DROP 然而ssh登录192.168.0.9时报错 #ssh 192.168.0.9 do_ypcall: clnt_call: RPC: Unable to send; errno = Operation not permitted do_ypcall: clnt_call: RPC: Unable to send; errno = Operation not permitted 加上-vvv看详细过程

InfluxDB 1.2.0安装及新旧版本的注意事项

随着大数据的爆发,系统数量也是直线上升,监控系统,收集系统运行状态成了保障业务正常运行中的重要一个环节。 针对这种产生频率快、带时间标签、测点多、信息量大的数据,时序数据库(Time Series Database,简称TSDB)应运而生。而其中InfluxDB是比较应用广泛的其中一个。 InfluxDB是用Go语言写的,专为时间序列数据持久化所开发的,由于使用Go语言,所以各平台基本都支持。类似的时间序列数据库还有OpenTSDB,Prometheus等。 InfluxDB的Cluster功能收费,单机功能免费使用。 1、安装 可以直接rpm安装 到http://repos.influxdata.com下载相应的版本 #wget https://repos.influxdata.com/rhel/6Server/x86_64/stable/influxdb-1.2.0.x86_64.rpm #rpm -ivh influxdb-1.2.0.x86_64.rpm 或者 添加yum 源安装 #cat << EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.

NTP服务被利用做流量攻击以及检测预防手段

被攻击服务器相关配置: ip: eth0: 172.28.9.2 eth1: 192.168.0.2 eth3: 外网IP 某一天发现这台WEB服务器流量一直很高。 开始一直以为是WEB服务的流量很高,根本没往NTP服务那方面想。 因为我设置NTP服务的时候就有考虑到安全问题。 检测过程: #dstat -N eth3 可以发现发送流量非常大。 后面还用了nethogs和iptraf两个流量分析软件进行了分析。 nethogs 是检测进程的流量,但是检测不到UDP的流量,所以一开始也没想到是ntp的引起的。因为ntp用的是123的UDP端口。 iptraf是检测连接到服务器某个端口的流量 这里需要注意了:默认执行iptraf在上面窗口中只会显示TCP流量,而不会显示UDP流量,UDP流量会在下面快速闪现。所以一开始也没注意到是ntp引起的,因为UDP流量没排在上面。后面会讲怎么查看UDP流量。 可以先设置一下iptraf,开启按服务名显示,而不是显示端口号,比较直观。 #iptraf configure #iptraf -s eth3 这里一定要加上-s,才能显示UDP流量 这样就会看到ntp的流量非常高,从而可以判断是ntp服务而引起的。

用tar备份和恢复Linux操作系统

环境:主要是针对redhat等系列系统 其实备份系统平时看来可能用处不大,因为一般平时无论是数据库,还是应用,都会做自己的备份。实在系统坏了,也可以重装,重新配置就行。 但是有些系统可能用了很久,中间转了好几个人,里面的配置可能后来的人都搞不清楚了,重新配置需要花费很大精力。这个时候系统的备份就显得非常重要了。 或者有时候一小心删除了某个目录也可以用备份恢复。 备份系统应有选择性的备份某些服务器系统,或某些重要的系统文件,不用全部服务器做备份。 可以专门准备一个服务器或空间,根据服务器IP创建目录,再根据日期来存放tar好的各服务器的备份文件。 备份: 一般LINUX分区至少分三个: 一个/boot分区 一个/根分区 一个/swap交换分区 我们以这个为基础来实施备份策略。 /boot分区安装系统后一般不会变动,所以安装完系统后就可以备份一份,以后如果有升级系统,可以再备份 #tar -zcpf /boot.tgz /boot /根分区 #备份整个根目录要排除一些动态的目录和一些不必要的目录 #备份根目录应等业务应用配置完成,运行一段时间稳定后再备份,这样以后恢复出来后也能马上使用。以后应用有重大修改,运行稳定后再备份,前面的备份就可以删除 #tar -zcpf /root.tgz --exclude=/mnt --exclude=/media --exclude=/proc --exlude=/sys --exclude=/boot --exclude=/root.tgz /

[故障分析]出现大量僵尸进程(zombie)

环境:SUSE Linux Enterprise Server 11 SP2 检测到一个suse系统的zombie达到100多个 登录服务器检测 首先查询是哪个进程引起的 ps -ef|grep defu sfhadm 7444 7443 0 02:10 ? 00:00:00 [test.sh] <defunct> sfhadm 7463 7462 0 02:12 ? 00:00:00 [test.sh] <defunct> sfhadm 7481 7480 0 02:14 ?

用lshell实现堡垒机(跳转机)功能

写一下怎么利用lshell这个工具把一台Linux系统变成一台堡垒机(跳转机)。 一、跳转机的基本功能 1、多用户权限管理 2、限制登录用户所处的目录 3、限制登录用户能使用的命令 4、记录登录用户执行的命令 基本上在堡垒机上只要能执行ls、scp、ssh、passwd等几个命令就行。 准备一台Linux服务器安装lshell工具,添加受限用户组和用户,设置好能执行的命令,做为堡垒机使用,然后在其它服务器上在/etc/hosts.allow中设置只能从这台堡垒机服务器上远程登录。 二、安装和启用lshell 2.1、安装Linux系统 可以安装一个最简单的CentOS系统,多余的东西都不要安装,后面需要什么再安装什么。 安装完,可以加强这台服务器的安全设置,可以禁用或删除各种不需要的服务、文件。 开防火墙 开SELinux 2.2 安装lshell工具 如果堡垒机没有联网,可以从别的地方下载安装文件,再复制过来。 文章后有提供下载地址。 如果是CentOS7,需要先安装一下依赖软件 #yum install *ncurses* #pip install readline #git clone https://github.com/ghantoos/lshell.git #cd lshell #python setup.