1.安装一个CentOS6的系统的虚拟主机

#上传一个CenOS6系统的镜像到/opt目录下
[root@gjy /opt]# ll
-rw-r--r-- 1 root root 3916431360 2019-07-22 22:03 CentOS-6.8-x86_64-bin-DVD1.iso
-rw------- 1 root root 10737418240 2019-07-22 20:19 centos7.raw
-rw-r--r-- 1 qemu qemu 4588568576 2019-07-22 17:58 CentOS-7-x86_64-DVD-1810.iso [root@gjy /opt]# virt-install --virt-type kvm --os-type=linux --os-variant rhel6 --name centos6 --memory 1024 --vcpus 1 --disk /opt/centos6.raw,format=raw,size=10 --cdrom /opt/CentOS-6.8-x86_64-bin-DVD1.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole Starting install...
Domain installation still in progress. You can reconnect to
the console to complete the installation process. #使用TightVNC进行连接,如果centos7是开启的,那么这个的默认端口号是5901
进入之后,开始安装CenOS6的系统,正常安装就可以,ip地址设置为自动就可以了。分区时一定要配置swap分区,不配置swap分区,会出现报错的情况,主机起动不来。
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
1 centos6 running
3 centos7 running
- w shut off
#查端口
[root@kvm01 opt]# virsh vncdisplay centos6
:1
  1. Kvm虚拟机console登录

CentOS-7.X 版本console登录

#连接到kvm虚拟主机
[root@gjy /opt]# ssh root@192.168.122.89
#可以优化下ssh,免交互
[root@kvm01 ~]# vim /etc/ssh/sshd_config
79 GSSAPIAuthentication no
115 UseDNS no
#重启配置文件
[root@kvm01 ~]# systemctl restart sshd
#内核文件
[root@kvm01 ~]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Aug 2 04:49 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
#更新内核参数
[root@kvm01 ~]# grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
[root@kvm01 ~]# reboot #115200n8:能显示虚拟机的启动过程。重启完成后,使用virsh console 连接虚拟机。 [root@gjy /opt]# virsh console centos7
Connected to domain centos7
Escape character is ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-957.el7.x86_64 on an x86_64
centos7 login: root
Password:
Last login: Tue Jul 23 09:51:50 from gateway #查看终端
[root@centos-7 ~]# who
root ttyS0 2019-12-01 17:05 #注意:退出virsh console连接的方法,使用组合键Ctrl+]即可

CentOS-6.X 版本console登录

#开启centos-6的虚拟主机
[root@gjy /opt]# virsh start centos6
Domain centos6 started [root@gjy /opt]# virsh list --all
Id Name State
----------------------------------------------------
1 centos7 running
2 centos6 running #连接到kvm虚拟主机,默认网络是没有启动的,需要手动启动起来
[root@gjy /opt]# ssh root@192.168.122.45 #1.添加ttyS0的许可,允许root登陆
[root@centos6 ~]# echo "ttyS0" >> /etc/securetty #2.编辑/etc/grub.conf中加入console=ttyS0
[root@centos6 ~]# sed -i '/\tkernel/s#.*#& console=ttyS0#g' /boot/grub/grub.conf #3.编辑/etc/inittab在最后一行加入内容 S0:12345:respawn:/sbin/agetty ttyS0 115200
[root@centos6 ~]# echo 'S0:12345:respawn:/sbin/agetty ttyS0 115200' >>/etc/inittab #4.重启虚拟主机
[root@centos6 ~]# reboot #5.重启完成后,使用virsh console 连接虚拟机。
[root@gjy /opt]# virsh console centos6
Connected to domain centos6
Escape character is ^]
CentOS release 6.8 (Final)
Kernel 2.6.32-642.el6.x86_64 on an x86_64
centos6 login: root
Password:
Last login: Tue Jul 23 02:01:46 from 192.168.122.1

05. Kvm虚拟机开机自启动

#开机启动autostart,前提:systemctl enable libvirtd;取消开机启动autostart --disable
[root@gjy /opt]# virsh autostart centos7 #检查信息
[root@kvm01 ~]# virsh dominfo centos7 |grep -i autostart
Autostart: enable #实质为创建软连接
[root@gjy /opt]# ll /etc/libvirt/qemu/autostart/centos7.xml
lrwxrwxrwx 1 root root 29 2019-07-23 10:27 /etc/libvirt/qemu/autostart/centos7.xml -> /etc/libvirt/qemu/centos7.xml #关闭开机自启动
[root@gjy /opt]# virsh autostart --disable centos7
Domain centos7 unmarked as autostarted #检查信息
[root@kvm01 ~]# virsh dominfo centos7 |grep -i autostart
Autostart: disable [root@gjy /opt]# ll /etc/libvirt/qemu/autostart/centos7.xml
ls: cannot access /etc/libvirt/qemu/autostart/centos7.xml: No such file or directory

windows10安装

#上传镜像
[root@kvm01 opt]# ll
total 30233772
-rw-r--r-- 1 qemu qemu 5302775808 Dec 3 18:19 cn_windows_10_business_edition_version_1809_updated_april_2019_x64_dvd_1194d215.iso [root@lb01 opt]# virt-install --virt-type kvm --os-type=windows --os-variant windows --name w --memory 2048 --vcpus 2 --disk /opt/w.raw,format=raw,size=20 --cdrom /opt/cn_windows_10_business_edition_version_1809_updated_april_2019_x64_dvd_1194d215.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

注意:vnc必须直达,不是直达连不上。如果公司有跳板机的话,会用console登录

2.虚拟机的备份

#虚拟机在开启状态
[root@kvm01 opt]# virsh dumpxml centos7 > centos7-bak.xml #关机进行导出配置
[root@kvm01 opt]# virsh dumpxml centos7 >centos7-bak7.xml
[root@kvm01 opt]# ll
total 11214716
-rw-r--r-- 1 qemu qemu 3916431360 Dec 3 22:53 CentOS-6.8-x86_64-bin-DVD1.iso
-rw------- 1 root root 10737418240 Dec 4 00:11 centos6.raw
-rw-r--r-- 1 root root 3853 Dec 4 00:12 centos7-bak7.xml
-rw-r--r-- 1 root root 5145 Dec 4 00:10 centos7-bak.xml #移除主机
[root@kvm01 opt]# virsh undefine centos7
Domain centos7 has been undefined
#查看
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
1 centos6 running
- w shut off #导入主机
[root@kvm01 opt]# virsh define centos7-bak.xml
Domain centos7 defined from centos7-bak.xml
#再次查看
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
1 centos6 running
- centos7 shut off
- w shut off

3.企业案例:

#查看
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
1 centos6 running
5 centos7 running
#如果开机状态下移除主机
[root@kvm01 opt]# virsh undefine centos7
#再次查看,没变化
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
1 centos6 running
5 centos7 running
#此时关机的话
[root@kvm01 opt]# virsh shutdown centos7
#再查看,会发现主机被清除了
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
1 centos6 running

解决办法

#先备份配置文件
[root@kvm01 opt]# virsh define centos6.xml
再关机,导入

注意:

#查看进程
[root@kvm01 opt]# ps -ef|grep qemu
当undefine的时候,进程不会消失,还在。但系统管理配置文件没了,当关机的时候,会都消失。
#配置文件要导入进去,不能cp复制
[root@kvm01 opt]# virsh define centos6.xml

4.Kvm磁盘管理

01. Kvm虚拟机虚拟磁盘格式转换

各种格式说明介绍

raw : 裸格式,占用空间比较大,不支持快照功能,性能较好,不方便传输

qcow2 : cow (copy on write) ,占用空间小,支持快照功能,性能比raw差一点 ,方便传输

创建一块qcow2的虚拟硬盘(仅测试使用,无实际意义)

#创建磁盘,指定大小
[root@gjy /opt]# qemu-img create -f qcow2 centos7.qcow2 2G
Formatting 'centos7.qcow2', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 lazy_refcounts=off
[root@gjy /opt]# ll -h
total 196K
-rw-r--r-- 1 root root 193K 2019-07-23 10:58 centos7.qcow2 #查看当前虚拟机硬盘信息
[root@gjy /data]# qemu-img info /data/centos7.qcow2
image: /data/centos7.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false #转换格式,语法说明
[root@gjy /data]# qemu-img --help |grep convert
convert [-c] [-p] [-q] [-n] [-f fmt] [-t cache] [-T src_cache] [-O output_fmt] [-o options] [-s snapshot_name] [-S sparse_size] filename [filename2 [...]] output_filename #转换原有磁盘格式
[root@gjy /opt]# qemu-img convert -f raw -O qcow2 centos7.raw centos7.qcow2 #转化之后,要想使用,要修改kvm虚拟机的主配置文件
[root@gjy /opt]# ll -h
total 13G
-rw-r--r-- 1 qemu qemu 3.7G 2019-07-22 22:03 CentOS-6.8-x86_64-bin-DVD1.iso
-rw-r--r-- 1 root root 1.2G 2019-07-23 11:17 centos7.qcow2
-rw------- 1 qemu qemu 10G 2019-07-23 11:19 centos7.raw
-rw-r--r-- 1 qemu qemu 4.3G 2019-07-22 17:58 CentOS-7-x86_64-DVD-1810.iso #修改配置文件
[root@gjy /opt]# virsh edit centos7
32 <disk type='file' device='disk'>
33 <driver name='qemu' type='qcow2'/> #将原来的raw改成qcow2
34 <source file='/opt/centos7.qcow2'/> #将原来的raw改成qcow2
35 <target dev='vda' bus='virtio'/>
36 <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
37 </disk> #删除原磁盘文件
[root@gjy /opt]# rm -f centos7.raw #启动kvm虚拟机
[root@gjy /opt]# virsh start centos7 #连接测试
[root@gjy /opt]# virsh console centos7

总结:

qemu-img 常用命令:

info查看虚拟磁盘信息

create 创建虚拟磁盘文件

qemu-img create test.raw 5G

qemu-img create -f qcow2 centos7.qcow2 2G

resize 调整虚拟磁盘容量大小(qcow2只能括,不能缩,但不管什么格式的磁盘,尽量都不能缩,会丢数据)

qemu-img resize test.raw +5G (调整至5G)

qemu-img resize test.qcow2 15G

convent 磁盘格式转换

qemu-img convenet -f raw |-O qcow2 test.raw test.qcow2

02. Kvm快照管理

注意:raw格式的磁盘无法创建快照,qcow2支持快照,快照就存放在qcow2的磁盘文件里

#创建快照  开机状态
[root@kvm01 opt]# virsh snapshot-create centos7
Domain snapshot 1575390933 created #快照的路径
[root@kvm01 opt]# tree /var/lib/libvirt/qemu/snapshot/
/var/lib/libvirt/qemu/snapshot/
└── centos7
└── 1575390933.xml 1 directory, 1 file #查看快照
[root@kvm01 opt]# virsh snapshot-list centos7
Name Creation Time State
------------------------------------------------------------
1575390933 2019-12-04 00:35:33 +0800 running #开机状态下的快照
[root@kvm01 opt]# virsh snapshot-create centos7
Domain snapshot 1575391158 created
[root@kvm01 opt]# ll /var/lib/libvirt/qemu/snapshot/centos7/
total 16
-rw------- 1 root root 4951 Dec 4 00:39 1575390933.xml
-rw------- 1 root root 4973 Dec 4 00:39 1575391158.xml
[root@kvm01 opt]# virsh snapshot-list centos7
Name Creation Time State
------------------------------------------------------------
1575390933 2019-12-04 00:35:33 +0800 running
1575391158 2019-12-04 00:39:18 +0800 shutoff #查看快照信息
[root@kvm01 opt]# virsh snapshot-info centos7 1575390933
Name: 1575390933
Domain: centos7
Current: no
State: running
Location: internal
Parent: -
Children: 1
Descendants: 1
Metadata: yes #查看快照列表
[root@kvm01 opt]# virsh snapshot-list centos7
Name Creation Time State
------------------------------------------------------------
1575390933 2019-12-04 00:35:33 +0800 running
1575391158 2019-12-04 00:39:18 +0800 shutoff #恢复快照
[root@kvm01 opt]# virsh snapshot-revert centos7 --snapshotname 1575390933 #测试登录
[root@kvm01 opt]# virsh console centos7
Connected to domain centos7
Escape character is ^] [root@centos7 ~]# ls
anaconda-ks.cfg [root@kvm01 opt]# virsh snapshot-list centos7
Name Creation Time State
------------------------------------------------------------
1575390933 2019-12-04 00:35:33 +0800 running
1575391158 2019-12-04 00:39:18 +0800 shutoff #删除快照
[root@kvm01 opt]# virsh snapshot-delete centos7 1575390933
Domain snapshot 1575390933 deleted [root@kvm01 opt]# virsh snapshot-list centos7
Name Creation Time State
------------------------------------------------------------
1575391158 2019-12-04 00:39:18 +0800 shutoff

03. Kvm在线热添加硬盘

#进入/opt目录下,添加一块硬盘

[root@gjy ~]# cd /opt/
[root@gjy /opt]# ll
total 10003908
-rw-r--r-- 1 qemu qemu 3916431360 2019-07-22 22:03 CentOS-6.8-x86_64-bin-DVD1.iso
-rw-r--r-- 1 qemu qemu 1752956928 2019-07-24 01:04 centos7.qcow2
-rw-r--r-- 1 qemu qemu 4588568576 2019-07-22 17:58 CentOS-7-x86_64-DVD-1810.iso [root@gjy /opt]# qemu-img create -f qcow2 /opt/centos7-add01.qcow2 5G
Formatting '/opt/centos7-add01.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off [root@gjy /opt]# qemu-img info centos7-add01.qcow2
image: centos7-add01.qcow2
file format: qcow2
virtual size: 5.0G (5368709120 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false #给kvm虚拟机centos7热添加硬盘
[root@gjy /opt]# virsh attach-disk centos7 /opt/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2 --config
Disk attached successfully vdb #第二块硬盘
--live #热添加
--cache=none #宿主机对客户机的镜像的读写cache开启,off表示关闭
--subdriver #驱动类型,(一定要加,不然添加的磁盘大小不会显示)
--config #下次启动生效 #vnc查看添加结果

剥离此块硬盘

[root@gjy /opt]# virsh detach-disk centos7 vdb
Disk detached successfully
[root@kvm01 opt]# virsh console centos7
Connected to domain centos7
Escape character is ^] [root@centos7 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 10G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 9G 0 part
├─centos-root 253:0 0 8G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]

增加硬盘大小,生产环境中,只加不减

[root@gjy /opt]# qemu-img resize /opt/centos7-add01.qcow2 +5G
Image resized.
[root@gjy /opt]# qemu-img info /opt/centos7-add01.qcow2
image: /opt/centos7-add01.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 260K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false #再重新给centos7热添加硬盘
[root@gjy /opt]# virsh attach-disk centos7 /opt/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2
Disk attached successfully

进入kvm虚拟机,进行格式化磁盘

[root@gjy /opt]# virsh console centos7
Connected to domain centos7
Escape character is ^] centos7 login: root
Password:
Last login: Fri Aug 30 20:18:51 on tty1 #控制台登录
[root@kvm01 opt]# virsh console centos7
Connected to domain centos7
Escape character is ^] [root@centos7 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 10G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 9G 0 part
├─centos-root 253:0 0 8G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
vdb 252:16 0 10G 0 disk #格式化操作,创建文件系统
[root@centos7 ~]# mkfs.xfs /dev/vdb
meta-data=/dev/vdb isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0 [root@centos7 ~]# mkdir /data
#挂载(挂载前要先格式化)
[root@centos7 ~]# mount /dev/vdb /data/
#查看
[root@centos7 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 8.0G 1007M 7.1G 13% /
devtmpfs 484M 0 484M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 6.8M 489M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 1014M 133M 882M 14% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/vdb 10G 33M 10G 1% /data #如果挂载之后,磁盘大小变化了,分区表也变化了,df -h查看没有更新,执行命令
[root@centos7 ~]# xfs_growfs /dev/vdb (执行此命令,会调整inode和block信息,才会扩容成功)

根分区扩容:

1).先关机,存在快照,删除快照
2)在宿主机上关闭虚拟机并调整虚拟机磁盘大小
[root@gjy /opt]# qemu-img resize centos7.qcow2 +10G 3)虚拟机中fdisk重新分区
[root@gjy /opt]# fdisk /dev/vda partprobe #通知内核系统分区发生变化 3)重启之后,执行
[root@gjy /opt]# xfs_growfs /dev/vsda
#如果虚拟机磁盘文件系统是ext4:resize2fs /dev/vda1

Kvm--02 安装centos6系统 ,kvm磁盘管理的更多相关文章

  1. KVM虚拟机安装报错 KVM is not available

    在linux系统上使用kvm安装系统时,如果你的cpu不支持虚拟化技术那么可能会报以下错误: Warning:KVM is not available. This may mean the KVM p ...

  2. Linux系统的磁盘管理

    Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...

  3. Linux02--文件系统与磁盘管理

    1.文件默认权限umask    umask命令用于指定新建文件和目录时的默认权限.    root的umask默认值是022,普通用户的umask值为002.    新建文件的默认权限=666 - ...

  4. 新加了一块硬盘,在bios中可以看的到,在系统的磁盘管理器中看不到新加硬盘

    今天新加了一块硬盘,进入bios中可以看到新加的硬盘,但是进入系统后在磁盘管理及磁盘驱动器中都看不到.并且在设备管理器下其他设备出现了ATA channel1,前面显示感叹号,如下图所示: 而且电脑变 ...

  5. 如何使用KVM 虚拟机安装RHEL7系统

    KVM(基于内核的虚拟机)是标准的RHEL内核中内置的完整的虚拟化解决方案.它可以运行多款未经修改的Windows和Linux虚拟客户机操作系统.RHEL中的KVM系统管理程序通过libvirtAPI ...

  6. KVM虚拟化技术(六)磁盘管理

    KVM支持的虚拟磁盘类型 raw 这并非是一种真正的磁盘格式,而是代表虚拟机所使用的原始镜像:它并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案,然而也正因为 它不存储元数据,因此不能支持某些高 ...

  7. kvm无人值守安装centos6

    nginx配置 server { listen default_server; server_name _; root /home/iso; # Load configuration files fo ...

  8. 安装Linux系统的磁盘分区

    ●CentOS磁盘分区 分区顺序: "/"分区(逻辑) -> "/boot"分区(主分区) -> "swap"分区(逻辑) -& ...

  9. 01-Linux命令基础-第01天(命令基础,软件安装与卸载、磁盘管理)

    01-   Linux初步 最早一直是单道程序设计模型的操作系统 69年贝尔实验室决定开发多道程序设计模型的操作系统 Multics计划 (失败了) x86 IA(Intel Architecture ...

随机推荐

  1. 对webpack的初步研究5

    Loaders 加载器是应用于模块源代码的转换.它们允许您在处理import或“加载” 文件时预处理文件.因此,加载器有点像其他构建工具中的“任务”,并提供了处理前端构建步骤的强大方法.加载器可以将文 ...

  2. 关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法

    关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法 这个问题我也遇到过,以下是解决办法   该方法适用于 ...

  3. 阿里云祝顺民(江鹤):云原生SDWAN加速企业上云 引领未来智能网络

    第二届中国SD-WAN峰会于11月16日在北京盛大开幕,阿里云以黄金赞助商之名隆重参与.作为全球前三,亚太第一的云计算厂商,阿里云一直引领云网技术的演进及应用落地.过去一年,阿里云发布以云为中心的云原 ...

  4. Python3解leetcode Number of Boomerangs

    问题描述: Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple ...

  5. python全栈开发,Day44(IO模型介绍,阻塞IO,非阻塞IO,多路复用IO,异步IO,IO模型比较分析,selectors模块,垃圾回收机制)

    昨日内容回顾 协程实际上是一个线程,执行了多个任务,遇到IO就切换 切换,可以使用yield,greenlet 遇到IO gevent: 检测到IO,能够使用greenlet实现自动切换,规避了IO阻 ...

  6. jquery ajax请求回调

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Jenkins 添加新用户

    下面重点记录下jenkins安装后的一些配置: (1)添加用户权限 jenkins初次登陆后,要先注册一个用户作为管理员: 依次点击“系统管理”->“Configure Global Secur ...

  8. 1208C Magic Grid

    题目大意 给你一个n 让你用0~n^2-1的数填满一个n*n的正方形 满足每个数值出现一次且每行每列的异或值相等 输出任意一种方案 分析 我们发现对于4*4的正方形 0  1  2  3 4  5  ...

  9. GitLab 安装,配置及维护

    参考: GitLab 官方文档 docker-gitlab,通过 docker-compose 快速安装 GitLab rake,是 Rails 的工具,类似 ruby 中常用的的 make.通过 R ...

  10. 【ABAP系列】SAP ABAP基础-SQL的嵌套使用

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP基础-SQL的嵌 ...