Service2

手动新键一台虚拟机:
   虚拟机的名字:nsd
   CPU、内存、硬盘均默认
     网络类型:private1
   软件包选择:带GUI的服务器
   分区:自动分区
######################################################

虚拟化概述
• virtualization 资源管理
– x个物理资源 --> y个逻辑资源
– 实现程度:完全、部分、硬件辅助(CPU)

######################################################
虚拟机nsd:搭建本地Yum仓库

1.服务端:挂载光盘
[root@localhost 桌面]# mount /dev/cdrom /mnt
[root@localhost 桌面]# ls /mnt

2.客户端:书写一个配置文件/etc/yum.repos.d/*.repo
[root@localhost 桌面]# vim  /etc/yum.repos.d/abc.repo
    [abc]
    name=abc
    baseurl=file:///mnt
    enabled=1
    gpgcheck=0
[root@localhost 桌面]# yum repolist

########################################################


yum软件组管理
• 使用RHEL7软件仓库的预设分组
– yum groups list [hidden] [组名]...
– yum groups info [组名]...
– yum groups install [组名]...
– yum groups remove [组名]


安装虚拟化服务器平台
• 主要软件组
 Virtualization\ Client      #虚拟化客户端
 Virtualization\ Platform    #虚拟化平台
 Virtualization\ Hypervisor  #虚拟化管理器
 Virtualization\ Tools       #虚拟化工具

[root@localhost 桌面]# yum -y groups install
 Virtualization\ Client
 Virtualization\ Platform
 Virtualization\ Hypervisor
 Virtualization\ Tools

######################################################

 虚拟化服务:libvirtd
   
#######################################################
真机操作:
• 查看KVM节点(服务器)信息
  – virsh nodeinfo
• 列出虚拟机
  – virsh list [--all]
• 查看指定虚拟机的信息
  – virsh dominfo 虚拟机名称
• 运行|重启|关闭指定的虚拟机
  – virsh start|reboot|shutdown 虚拟机名称
• 强制关闭指定的虚拟机
  – virsh  destroy  虚拟机名称

[root@room9pc14 桌面]# virsh autostart nsd   #设置开机自起动
[root@room9pc14 桌面]# virsh dominfo nsd
[root@room9pc14 桌面]# virsh autostart --disable nsd #关闭自起动
[root@room9pc14 桌面]# virsh dominfo nsd
#########################################################
  删除唯一性的硬件设备

[root@room9pc14 桌面]# virsh  destroy  nsd
  手动图形删除:两个 channel 设备(接口设备,具备唯一性)

##########################################################
一台KVM虚拟机的组成

– xml配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内
存、虚拟磁盘、网卡等各种参数设置
 虚拟机描述文件默认路径: /etc/libvirt/qemu

– 磁盘镜像文件:保存虚拟机的操作系统及文档数据,
镜像路径取决于xml配置文件中的定义
 磁盘镜像文件 默认路径: /var/lib/libvirt/images/
 查看磁盘镜像文件信息
  # qemu-img info /var/lib/libvirt/images/nsd.qcow2

########################################################
手动快速创建一台虚拟机
1.创建新的磁盘文件
[root@room9pc14 桌面]# cd /var/lib/libvirt/images/
[root@room9pc14 images]# cp nsd.qcow2  test01.qcow2

2.写新的虚拟机描述文件
[root@room9pc14 images]# cd /etc/libvirt/qemu/
[root@room9pc14 qemu]# cp nsd.xml test01.xml
[root@room9pc14 qemu]# vim test01.xml
   修改name、删除UUID整行、修改磁盘文件路径、删除MAC整行

3.导入虚拟机信息
[root@room9pc14 /]# virsh define /etc/libvirt/qemu/test01.xml
[root@room9pc14 /]# virsh list --all
[root@room9pc14 /]# virsh start test01

#########################################################

导出xml配置文件
  – 查看:virsh  dumpxml  虚拟机名
  – 备份:virsh  dumpxml  虚拟机名  >  虚拟机名.xml

编辑虚拟机设置
• 对虚拟机的配置进行调整
– 编辑:  virsh   edit   虚拟机名
            导出、修改、导入

####################################################
删除虚拟机
– virsh undefine 虚拟机名

# virsh undefine test01
# rm -rf /var/lib/libvirt/images/test01.qcow2

####################################################

COW技术原理
• Copy On Write,写时复制
– 直接映射原始盘的数据内容
– 对前端盘的修改不回写到原始盘


1.快速创建qcow前端盘
• qemu-img 通过 -b 选项复用指定后端盘
– qemu-img create -f qcow2 -b 后端盘   前端盘

# cd /var/lib/libvirt/images/
# qemu-img create -f qcow2   -b nsd.qcow2  new01.qcow2

# qemu-img info new01.qcow2

2.常见新的虚拟机描述文件
# cd /etc/libvirt/qemu/
# cp nsd.xml new01.xml
# vim new01.xml
   修改name、删除UUID整行、修改磁盘文件路径指定前端盘、删除MAC整行

3.导入新的虚拟机
# virsh  define  /etc/libvirt/qemu/new01.xml

#######################################################
搭建新的教学环境
1.在真机上操作新建两台虚拟机
[root@room9pc14 桌面]# clone-vm7
Enter VM number: 1

[root@room9pc14 桌面]# clone-vm7
Enter VM number: 2

2.在真机上操作,随真机的启动而启用
[root@room9pc14 桌面]# virsh autostart A
[root@room9pc14 桌面]# virsh autostart B

3.以root身份进入虚拟机,配置两台虚拟机的网络地址参数,密码123456
   虚拟机A:
       IP地址:192.168.4.7/24
             主机名:svr7.tedu.cn

   虚拟机B:
       IP地址:192.168.4.207/24
             主机名:pc207.tedu.cn

4.真机利用Web服务提供Yum源(共享光盘所有内容)

[root@room9pc14 桌面]# ifconfig private1
[root@room9pc14 桌面]# rpm -q httpd
httpd-2.4.6-40.el7.x86_64

# mkdir  /var/www/html/rhel7
# mount  /ISO/rhel-server-7.2-x86_64-dvd.iso  /mnt/
# cp -r  /mnt/*   /var/www/html/rhel7/

# firefox http://127.0.0.1/rhel7
# firefox http://192.168.4.254/rhel7

6.虚拟机A与虚拟机B指定Yum位置
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo
   [rhel7]
   name=rhel7
   baseurl=http://192.168.4.254/rhel7
   enabled=1
   gpgcheck=0

[root@pc207 ~]# vim /etc/yum.repos.d/rhel7.repo
   [rhel7]
   name=rhel7
   baseurl=http://192.168.4.254/rhel7
   enabled=1
   gpgcheck=0

7. 设置防火墙trusted与关闭SELinux

[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
[root@svr7 ~]# setenforce 0   #当前修改为宽松模式
[root@svr7 ~]# getenforce  
  Permissive
[root@svr7 ~]# vim /etc/selinux/config
  SELINUX=permissive


###########################################################
• 使用 guestmount 工具
    – 支持离线挂载 raw、qcow2 格式虚拟机磁盘
• 基本用法
  – guestmount  -a  虚拟机磁盘路径   -i   /挂载点

##########################################################
扩展的几个应用

 /boot          存放系统引导必需的文件,包括内核、启动配置
 /bin、/sbin    存放各种命令程序
 /dev           存放硬盘、键盘、鼠标、光驱等各种设备文件
 /etc           存放Linux系统及各种程序的配置文件
 /root、/home/  用户名 分别是管理员root、普通用户的默认家目录
 /var           存放日志文件、邮箱目录等经常变化的文件
 /proc          存放内存中的映射数据,不占用磁盘
 /tmp           存放系统运行过程中使用的一些临时文件

###################################################

权限的数值表示
• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
虚拟机Svr7:
[root@svr7 ~]# mkdir /nsd01
[root@svr7 ~]# ls -ld /nsd01
drwxr-xr-x. 2 root root 6 12月  6 20:44 /nsd01

[root@svr7 ~]# chmod 007 /nsd01
[root@svr7 ~]# ls -ld /nsd01
d------rwx. 2 root root 6 12月  6 20:44 /nsd01

[root@svr7 ~]# chmod 700 /nsd01
[root@svr7 ~]# ls -ld /nsd01
drwx------. 2 root root 6 12月  6 20:44 /nsd01

[root@svr7 ~]# chmod 750 /nsd01
[root@svr7 ~]# ls -ld /nsd01
drwxr-x---. 2 root root 6 12月  6 20:44 /nsd01


################################################

自定义Yum仓库

1.自己下载的rpm包,真机的tools目录上传到虚拟机svr7
[root@room9pc14 桌面]# scp -r tools root@192.168.4.7:/root/
root@192.168.4.7's password:

2.虚拟机svr7查看
[root@svr7 ~]# ls /root/tools/other/

3.仓库数据文件
[root@svr7 ~]# createrepo /root/tools/other/
[root@svr7 ~]# ls /root/tools/other/

4.书写客户端配置文件
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo
    [myrpm]
    name=myrpm
    baseurl=file:///root/tools/other
    enabled=1
    gpgcheck=0

[root@svr7 ~]# yum -y install sl
[root@svr7 ~]# rpm -ql  sl          #显示rpm安装清单

[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# rpm -ql  cmatrix     #显示rpm安装清单
[root@svr7 ~]# cmatrix

[root@svr7 ~]# yum -y install oneko
[root@svr7 ~]# oneko
[root@svr7 ~]# killall oneko

######################################################
• du,统计文件的占用空间
– du [选项]... [目录或文件]...

– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)

[root@svr7 ~]#  du -sh /root
[root@svr7 ~]#  du -sh /root /etc  /var


######################################################
 快捷方式(链接、连接):  ln -s  /路径/源文件      /路径/快捷方式的名字


# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0  /opt/network

# ls -l /opt/

# cat /opt/network


  i节点:编号,唯一标识硬盘上一块存储区域


• ln,创建软连接
– 软连接 --> 原始文档 --> i节点 --> 文档数据
– ln -s 原始文件或目录 软连接文件
 若原始文件或目录被删除,连接文件将失效
 软连接可存放在不同分区/文件系统

• ln,创建硬连接
– 硬连接 --> i节点 --> 文档数据
– ln 原始文件 硬连接文件
 若原始文件被删除,连接文件仍可用
 硬连接与原始文件必须在同一分区/文件系统


    只有硬连接不会产生新的文件,也不会单独占用新的磁盘空间
[root@svr7 ~]# rm -rf /opt/*
[root@svr7 ~]# echo 123 > /opt/A
[root@svr7 ~]# ln -s /opt/A /opt/A1       #制作软连接快捷方式
[root@svr7 ~]# ls /opt/

[root@svr7 ~]# ln /opt/A  /opt/A2         #制作硬连接快捷方式
[root@svr7 ~]# ls /opt/

[root@svr7 ~]# cp /opt/A /opt/A3           #复制新文件
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ls -i /opt/              #查看目录内容的i节点编号

[root@svr7 ~]# rm -rf /opt/A               #删除源文件
[root@svr7 ~]# ls -i /opt/
[root@svr7 ~]# cat /opt/A1            #软连接不可用
[root@svr7 ~]# cat /opt/A2            #硬连接可用
[root@svr7 ~]# cat /opt/A3            #复制新文件可用
########################################################
压缩和归档

   zip :跨平台(Windows与Linux)

     命令格式:zip [-r]  /路径/备份文件.zip   /路径/被归档的文档..

[root@svr7 ~]# zip -r /opt/test01.zip  /home/ /boot/
[root@svr7 ~]# ls /opt
[root@svr7 ~]# unzip /opt/test01.zip -d /mnt/

[root@svr7 ~]# zip -r /opt/test02.zip  /etc/selinux
[root@svr7 ~]# ls /opt
[root@svr7 ~]# unzip  /opt/test02.zip  /mnt

##########################################################

• date,查看/调整系统日期时间
– date +%F
– date +"%Y-%m-%d %H:%M:%S"
– date -s yyyy-mm-dd HH:MM:SS"


历史命令

管理/调用曾经执行过的命令
– histroy:查看历史命令列表
– history -c:清空历史命令
– !str:执行最近一次以str开头的历史命令


• 调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
 HISTSIZE=1000   //默认记录1000条


###################################################
• man,格式化手册阅读工具
– 按 上 、 下 、 PgUp 、PgDn 键滚动及翻页
– 按 q 键退出
– 按 / 键向后查找关键词(n、N切换)
[root@svr7 ~]# man mkdir
.. ..
[root@svr7 ~]# man 5 passwd

   5:配置文件帮助信息

#################################################

vim编辑技巧

光标跳转
  Home 键、数字 0       跳转至行首
  End 键                     跳转到行尾
  PgUp 键、PgDn 键    向上翻页、向下翻页
  1G 或 gg          跳转到文件的首行
  G                跳转到文件的末尾行

复制/粘贴/删除
  yy、4yy         复制光标处的一行、4行
  p               粘贴到光标处之后、之前
  x 或 Delete键      删除光标处的单个字符
  dd、6dd         删除光标处的一行、6行
  d^              从光标处之前删除至行首
  d$              从光标处删除到行尾
  C(大写)         从光标处删除到行尾,并且进入 输入模式

查找/撤销/保存
  /root      向后查找字符串“root”
  n、N       跳至后/前一个结果
  u          撤销最近的一次操作
  Ctrl + r   取消前一次撤销操作
  ZZ (大写)  保存修改并退出

######################################################

末行模式操作

   :r /etc/filesystems    读入其他文件内容

 [root@svr7 ~]# echo 123 > /opt/1.txt
 [root@svr7 ~]# echo abc > /opt/2.txt
 [root@svr7 ~]# vim /opt/1.txt

             :r  /opt/2.txt  #读入/opt/2.txt内容到当前文本文件内容

 
字符串替换
 :s/root/admin        替换当前行第一个“root”
 :s/root/admin/g      替换当前行所有的“root”
 :1,8 s/root/admin/g  替换第1-8行所有的“root”
 :% s/root/admin/g    替换文件内所有的“root”


开关参数的控制
  :set nu|nonu  显示/不显示行号
  :set ai|noai  启用/关闭自动缩进


#########################################################

源码编译安装

• 主要优点
– 获得软件的最新版,及时修复bug
– 软件功能可按需选择/定制


  RPM软件包:rpm命令  yum仓库

             gcc、make               进行配置
   源代码软件包-------------------> 可以执行的程序------------>运行安装

步骤1:安装gcc与make编译工具
[root@svr7 ~]# yum -y install gcc make
[root@svr7 ~]# rpm -q gcc
[root@svr7 ~]# rpm -q make

步骤2:tar解包,释放源代码至指定目录
# rm -rf /opt/*
# tar -xf /root/tools/inotify-tools-3.13.tar.gz -C /opt/
# ls /opt
# ls /opt/inotify-tools-3.13

步骤3: ./configure 配置,指定安装目录/功能模块等选项
# cd  /opt/inotify-tools-3.13
# ./configure  --prefix=/mnt/myrpm   #配置功能,指定安装位置

 checking for gcc... no              #gcc没有安装

步骤4: make 编译,生成可执行的二进制程序文件
   解压目录下
  # make

步骤5: make install 安装,将编译好的文件复制到安装目录
  # make  install
  # ls /mnt/
  # ls /mnt/myrpm/
  # ls /mnt/myrpm/bin/

########################################################
Set UID
• 附加在属主的 x 位上
  – 属主的权限标识会变为 s
  – 适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限
[root@svr7 /]# which mkdir
/usr/bin/mkdir
[root@svr7 /]# cp /usr/bin/mkdir /usr/bin/abcdir
[root@svr7 /]# chmod u+s /usr/bin/abcdir
[root@svr7 /]# ls -l /usr/bin/abcdir
[root@svr7 /]# useradd student
[root@svr7 /]# su - student
[student@svr7 ~]$ mkdir nsd01
[student@svr7 ~]$ ls -l
[student@svr7 ~]$ abcdir nsd02
[student@svr7 ~]$ ls -l
[student@svr7 ~]$ exit

########################################################
查看网络接口信息
   netstat  -anptu

        -a:显示所有接口信息
        -n:以数字方式显示
        -p:显示程序信息  
        -t:tcp连接
        -u:udp连接

########################################################

posted @ 2017-12-08 09:13  百川汇海  阅读(277)  评论(0编辑  收藏  举报