从Windows Server 2012 R2 开始,可以在线调整虚拟硬盘的大小了,这意味着当虚拟硬盘不够用时,我们在虚拟机运行的情况下直接扩展虚拟硬盘容量了。有人说这个有什么用?当然,实验室情况下,我们完全可以停机,然后修改其大小,如果在生产环境呢?你能设想一组正在渲染3D图形的虚拟机,硬盘空间突然不够的情形么?
要实现Hyper-V在线调整虚拟硬盘的大小这个功能,至少要符合两个条件:
1、虚拟硬盘的格式一定得是VHDX。
2、这个VHDX虚拟硬盘一定得挂载到SCSI控制器上。
挂载到IDE控制器上的VHDX虚拟硬盘无法在线调整大小:
挂载到SCSI控制器上的VHD虚拟硬盘也无法在线调整大小,只能进行压缩:
只有挂载在SCSI控制器上的VHDX虚拟硬盘才可以在线调整大小。
收缩虚拟硬盘:在什么情况下来收缩虚拟硬盘呢?一种情况是,在物理硬盘空间不够时,我们用收缩固定大小的虚拟硬盘空间来增大物理硬盘,另一种情况是,当我们第一次创建一个新的默认大小的动态虚拟硬盘,需要转换为固定虚拟硬盘时占用物理硬盘容量大,花费时间长,一般要进行收缩操作。
1、先在虚拟机里对虚拟硬盘进行压缩:
输入压缩空间量:是腾出来的空间,压缩后的总计大小:是虚拟硬盘剩余的容量。
腾出来的空间用来收缩:
2、进行收缩:
如果不做第一步,就不会有收缩按钮:
输入收缩的大小:
我发现,收缩只能以GB为单位,总能剩余一小部分空间:
我们可以用扩展卷的方式,重新分配给虚拟硬盘:
扩展虚拟硬盘:
输入扩展的大小:这个容量是虚拟硬盘的总容量。下图:32+48=80,也就是扩展的容量为48G。
用扩展卷向导进行
十一回来,很是懒散呀~
今天在群里看到 itnihao兄在聊 salt-ssh ,这是个好东西,就群里一直就跟进着。。。翻了下聊天记录,就把salt-ssh实现了下。
原本前些日子就想写一个salt ssh的文章,正好是快十一了,自己也没心思写了。。。
今天就把过程写一下,后期丰富下。。。。【嘿,又是这一套。。。。】
听兆松的意思,saltstack的epel源有问题,但是github里面的代码是无问题的。
salt-ssh 可以独立运行的,不用minion的~ 要是需要用salt-ssh的特殊参数,比如grains获取数据的话,还是需要安装minion的,不然他是不好判断你是redhat,debian的 ~ 说句废话 要是能安装minion,谁还用salt-ssh呀。。。。
提示这样出名的工具还是不少的,我这边简单分析下优缺点!
pdsh、pssh 这东西是要建立在你做好了key关联之后,他的优点才能看出来
vi server1.txt 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 pssh -h server1.txt -l root -P dir
expect 最大的有点就是交互,但是要成高性能的话,需要自己写多线程的。
#!/usr/bin/expect -f set toip [lindex $argv 0 ] set ip 10.2.20.14 set password 123123 set timeout 10 spawn ssh root@$ip expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } }
fabric、paramiko python之利器,用过一段时间,该有的都有的,很是强大
from fabric import env env.hosts = ['user1@host1:port1', 'user2@host2.port2'] env.passwords = {'user1@host1:port1': 'password1', 'user2@host2.port2': 'password2'}
但是我还是很看好 salt-ssh ,关于理由,你猜 ~
以后配置salt-api 会更好用的~
salt-ssh 可以代替expect之类的密码推送脚本,看起来功能不比expect差 。 salt-ssh 用的是sshpass进行密码交互的。
源地址:http://rfyiamcool.blog.51cto.com/1030776/1305710
我们先开始安装 salt-ssh ~
git clone https://github.com/saltstack/salt.git cd salt ./setup.py install
salt-ssh
我们可以把要执行的信息,也就是ip,帐号,密码等 都放到一个文件里面。当然
文件路径是可以随便定义的,官方是指定到了 /etc/salt/roster
我们刚才执行的结果:
我们测试下他的性能 ~ 结果让人很爽 ~
详细的参数:
指定信息文件
配置一个默认的密码,然后帮你推送下 ~~~ 这个功能有点怪,规范点的公司,大家的密码都是随机生成的,但是适合自己的实验环境和小公司。。。。
重大发现: 我在这里补充下~
salt-ssh 第一次执行是根据roster的账号密码推送密码,来实现自动交互的。
执行完了后 会在目标的服务器里面,追加master端的key
然后你就可以删除roster里面的passwd 密码条目了。
######
这是由 兆松发现的~
######
我给大家测试下,我把passwd删除了,还是可以运行,这里就不是用sshpass推送密码了,而是直接通过key了 !!!
参数不少,大家自己看吧 ~
salt-ssh Synopsis salt-ssh '*' [ options ] sys.doc salt-ssh -E '.*' [ options ] sys.doc cmd Description Salt ssh allows for salt routines to be executed using only ssh for transport Options -r, --raw, --raw-shell Execute a raw shell command. 要执行的命令,支持管道和常用的特殊符号 --roster-file Define which roster system to use, this defines if a database backend, scanner, or custom roster system is used. Default is the flat file roster. 指定一个信息文件 --refresh, --refresh-cache Force a refresh of the master side data cache of the target's data. This is needed if a target's grains have been changed and the auto refresh timeframe has not been reached. --max-procs Set the number of concurrent minions to communicate with. This value defines how many processes are opened up at a time to manage connections, the more running process the faster communication should be, default is 25. --passwd Set te default password to attempt to use when authenticating. --key-deploy Set this flag to attempt to deploy the authorized ssh key with all minions. This combined with --passwd can make initial deployment of keys very fast and easy. --version Print the version of Salt that is running. --versions-report Show program's dependencies and version number, and then exit -h, --help Show the help message and exit -c CONFIG_DIR, --config-dir=CONFIG_dir The location of the Salt configuration directory. This directory contai
没有评论:
发表评论