I needed to run LSI MegaRaid Storage Manager (vivaldiframework) for my LSI 9260-8i SAS card in my Ubuntu Desktop. Ubuntu is based on Debian so this may also work to get LSI MegaRaid Storage Manager on Debian as well, but I have not yet tried it yet. It took some work but I go it to install so I thought I would tell you how I did it. It is assumed that in the following, when editing a file you are doing it with superuser rights such as opening the files from the comand prompt with "sudo nano /path/to/file/file" or "sudo vi /path/to/file/file"

I found that you need to have a GUI installed (though the install can be done completely by ssh.

root account:

If the root account has not been enabled, it will need to be enabled and have a pasword set

sudo passwd root

sudo passwd -u root

Install prerequisites:

sudo apt-get install alien libstdc++5  rcconf

You also need to install at least Java 7, I am using Java8. I followed the procedure found at: http://www.ubuntugeek.com/how-to-install-oracle-java-7-in-ubuntu-12-04.html and just changed java7 in the command line to java8

 

You need to download the Linux  build from LSI (download-results.aspx?component=Storage+Component&productfamily=RAID+Controllers&productcode=P00066&assettype=Management+Software+and+Tools&productname=MegaRAID+SAS+9260-8i" target="_blank" rel="nofollow">http://www.lsi.com/support/pages/download-results.aspx?component=Storage+Component&productfamily=RAID+Controllers&productcode=P00066&assettype=Management+Software+and+Tools&productname=MegaRAID+SAS+9260-8i). I initially tried the latest but had some problems with it. It could very well have been a fluk but I just went back to the 13.11.01.00 version that worked just fine.

mkdir ~/LSI

cp 13.11.01.00_Linux_x64_MSM.gz ~/LSI/

cd ~/LSI/

tar xzvf 13.11.01.00_Linux_x64_MSM.gz

cd disk

sudo alien --scripts *.rpm

install deb packages

sudo dpkg --install lib-utils2_1.00-6_all.deb

sudo dpkg --install megaraid-storage-manager_13.11.01-1_all.deb

edit /etc/init.d/vivaldiframeworkd and replace the line

for ((i=0, i < 20, i++))

with

for i in `seq 0 19`

edit "/usr/local/MegaRAID Storage Manager/Framework/startupui.sh" and replace

LD_LIBRARY_PATH=`pwd`:/opt/lsi/Apache:/opt/lsi/Pegasus:/opt/lsi/openssl;export LD_LIBRARY_PATH

with

LD_LIBRARY_PATH=`pwd`:/opt/lsi/Pegasus:/usr/sbin/openssl;export LD_LIBRARY_PATH

configure the service to start automatically:

sudo rcconf

arrow down to the vivaldiframeworkd, if it does not have an "*" in it , hit the space bar to select it, then hit enter or tab to OK

 

Restart the vivaldiframeworkd service:

sudo /etc/init.d/vivaldiframeworkd restart

if you want to use the Graphical desktop installed on you box you can access the GUI with

cd "/usr/local/MegaRAID Storage Manager"

./startupui.sh

 

转:https://my.oschina.net/u/2266513/blog/3083003

 

目前Proxmox中文社区源已正式提供镜像服务,镜像更新频率为每10小时,镜像站机房存放在法国巴黎online机房使用阿里云、华为云融合提供国内CDN加速服务。 地址 download.proxmox.wiki/">http://download.proxmox.wiki

# 删除企业源
rm -rf /etc/apt/sources.list.d/pve-enterprise.list
#下载秘钥
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
# 添加社区源
echo "deb http://download.proxmox.wiki/debian/pve stretch pve-no-subscription" >/etc/apt/sources.list.d/pve-install-repo.list

建议同时使用国内debian源

deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-data-original http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb http://mirrors.aliyun.com/debian-security buster/updates main
deb-data-original http://mirrors.aliyun.com/debian-security buster/updates main
deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-data-original http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb-data-original http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib

最后执行

apt update
#apt update&&apt dist-upgrade #如需升级pve,则执行该命令

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53638227
博主地址是:http://blog.csdn.net/freewebsys

1,golang非常适合云计算
docker 非常的好,golang 也可以直接跑在 alpine系统上面
但是,golang是个编译语言,不像java一样。可以把jar拷贝到其他系统上,golang依赖编译环境。
之前犯的一个错误就是,把centos系统上编译的二进制文件。
拷贝到了 alpine系统上,结果执行报错。
golang的编译还是依赖不同操作系统的。
所以干脆使用virtualbox 创建一个alpine的虚拟机得了。
在alpine上面做的操作就方便多了。

2,安装alpine
下载iso文件。
http://alpinelinux.org/downloads
安装:
https://wiki.alpinelinux.org/wiki/Installation
创建虚拟机就不说了。
alpine 挂载上了 ios镜像文件之后。
启动就进入登录界面了。用户名root,密码是空。(默认的)
执行安装语句

setup-alpine
1
这个没有centos的安装界面,就是个shell脚本。一步一步执行就行了。
https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts

首先是需要输入键盘格式。
然后自动获得ip。
设置管理员密码
输入时区 Asia/Shanghai 直接输入就行了。
下一步进行格式化硬盘

先选择了个 lvm ,然后又选择了个sys。
只有sys 才是把文件写入硬盘。
最后擦写硬盘。使用虚拟机问题不大,实机的时候注意数据备份。

一般来说安装脚本的执行问题不大。
有的时候可能访问不了网络了。这个时候重启下虚拟机,重新来。
https://wiki.alpinelinux.org/wiki/Configure_Networking
或者自己配置下网络。

vi /etc/resolv.conf
nameserver 114.114.114.114
重启网络
/etc/init.d/networking restart
ifconfig 看看ip
最好把镜像的地址修改成清华的。

echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main" > /etc/apk/repositories
apk update
1
2
也可以直接编辑 /etc/apk/repositories
安装完成,提示重启。

3,进入系统
进入系统之后

磁盘空间占用的挺少的。
这样一个 alpine linux 系统就安装好了。

4,开启ssh远程登录
默认 alpine 没有开启远程登录权限。
ssh远程登录不了。
vi /etc/ssh/sshd_config
增加:
PermitRootLogin yes
允许root登录,当然这个是测试环境,未来方便的。

5,总结
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53638227 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

alpine linux 系统很小。以后模拟测试啥的都可以在这个上面进行了。
以后再这个环境编译好的golang 二进制文件。就可以拷贝到 docker的 alpine 上面了。
一些特性也可以在 这个环境上面测试了。
————————————————
版权声明:本文为CSDN博主「freewebsys」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/freewebsys/java/article/details/53638227

如何在不购买订阅的情况下更新Proxmox

作者: JOEL · 2018年6月8日

如果您尚未购买订阅,则Proxmox的“无有效订阅”导航屏幕会在每次登录时显示。

在Proxmox网站上,他们说:“ Proxmox VE是用于企业虚拟化的完整开源平台。”通常,您不为开源软件付费;但是Proxmox的人们已经尽了最大的努力来吓most我们大多数人购买订阅-或至少使我们因没有订阅而感到内gui。

现在,Proxmox是很棒的软件。开发出色的软件需要大量的资源,出色的开发人员……和大量金钱。因此,如果您在商业环境中使用Proxmox,我建议您购买订阅。但是,某些人可能有兴趣将其用于家庭使用或只是为了摆弄,以及由于各种原因中的任何一种,您可能不希望或可能无法购买订阅。本文适合您。

需要明确的是,Proxmox无需许可证即可正常工作。未经许可的版本与付费版本功能相同,但有一个例外:它无权访问经过测试的“企业”更新存储库。这样(没有我要向您显示的更改),您将无法更新Debian软件。哦,当然,每次登录时都会显示小屏幕。

我认为也有一种方法可以摆脱nag屏幕,但在这里我不会打扰。我本人并不介意,只要您登录即可再点击一下。我已经购买了主服务器的许可证,但是对于备用服务器,我决定暂时不每年花费120美元(大约)。事实证明,使Proxmox从“非企业”存储库进行更新非常容易。

通过SSH进入Proxmox主机,或通过Web界面访问其控制台,并制作pve-enterprise.list源文件的副本,如下所示:

root@pve ~# cd /etc/apt/sources.list.d/

root@pve ~# cp pve-enterprise.list pve-no-subscription.list

好,现在我们有了原始文件的副本。如果我们以后购买订阅并想使用企业存储库,我们将能够非常轻松地还原我们所做的工作。现在,编辑原始文件并注释掉其一行;保存并关闭文件。

接下来,打开复制的文件,pve-no-subscription.list然后稍稍更改行。原始行如下所示:

deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

要注意的部分是https(将其更改为http,)enterprise.proxmox.com(更改enterprise为download),以及字符串的末尾— pve-enterprise(更改为pve-no-subscription)。不要编辑该单词stretch或该位置出现的任何其他单词;那是Debian版本代号。您编辑的行应如下所示:

deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

保存并关闭文件。现在,更新软件包列表:

root@pve ~# apt-get update

完成后,运行软件升级!

root@pve ~# apt-get dist-upgrade

注意:始终运行dist-upgrade,而不仅是“ apt-get升级”。Dist-upgrade确保所有软件包及其依赖项都已更新。如果仅运行“ apt-get升级”,则可能会中断。相信我; 它曾经发生在我身上!我有一些紧张的时刻,试图找出为什么我的ZFS存储在停电后不会来了强制重新启动系统-和DIST升级,之后重新启动,化险为夷。只需使用dist-upgrade,一切都应该很高兴。

最后,请注意,“无订阅”存储库据说不能保证稳定。通过此渠道到达的更新更有可能是尖端更新和/或测试更新;他们没有经过测试以确保一切稳定。因此,风险自负-再次,如果Proxmox VE在帮助您的业务,请在那儿的人们帮忙购买订阅。他们的技术可能和我们其他人一样需要餐桌上的食物。
————————————————
版权声明:本文为CSDN博主「allway2」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/allway2/article/details/102846374

20161027203227

介绍

前段时间网易蜂巢曾经推出蜂巢 Logo T恤,用的正是 Docker 镜像制作,最神奇的是,它最终的镜像大小只有 585字节。

$ docker images | grep hub.c.163.com/public/logo

REPOSITORY                          TAG     IMAGE ID           CREATED      SIZE

hub.c.163.com/public/logo  latest  6fbdd13cd204  11 days ago  585 B

这其中就用到了不少精简镜像的技术,尤其是针对 C 程序的优化和精简。但我们平常开发肯定不止用 C 语言,甚至有些镜像都不是我们自己来打包的(比如下载公共镜像),那是否有一些通用的精简 Docker 镜像的手段呢? 答案是肯定的 ,甚至有的镜像可以精简 98%。精简镜像大小的好处不言而喻,既节省了存储空间,又能节省带宽,加快传输。那好,接下来就请跟随我来学习怎么一步步精简 Docker 镜像吧。

镜像层(Layers)

在开始制作镜像之前,首先了解下镜像的原理,而这其中最重要的概念就是镜像层(Layers)。镜像层依赖于一系列的底层技术,比如文件系统(filesystems)、写时复制(copy-on-write)、联合挂载(union mounts)等,幸运的是你可以在很多地方学习到这些技术,这里就不再赘述技术细节。

 

20161027203243

 

总的来说,你最需要记住这点:

在 Dockerfile 中, 每一条指令都会创建一个镜像层,继而会增加整体镜像的大小。

举例来说:

FROM busybox

RUN mkdir /tmp/foo

RUN dd if=/dev/zero of=/tmp/foo/bar bs=1048576 count=100

RUN rm /tmp/foo/bar

以上 Dockerfile 干了这几件事:

  • 基于一个官方的基础镜像 busybox(只有1M多)
  • 创建一个文件夹(/tmp/foo)和一个文件(bar)
  • 为该文件分配了100M大小
  • 再把这个大文件删除

事实上,它最终什么也没做,我们把它构建成镜像看看(构建可以参考一期):

docker build -t busybox:test .

再让我们来对比下原生的 busybox 镜像大小和我们生成的镜像大小:

$ docker images | grep

busyboxbusybox    test     896c63dbdb96    2 seconds ago    106 MB

busybox    latest   2b8fd9751c4c    9 weeks ago      1.093 MB

出乎意料的是,却生成了 106 MB 的镜像。

多出了 100 M,这是为何?这点和 git 类似(都用到了Copy-On-Write技术),我用 git 做了如下两次提交(添加了又删除),请问 A_VERY_LARGE_FILE 还在 git 仓库中吗?

$ git add  A_VERY_LARGE_FILE

$ git commit

$ git rm  A_VERY_LARGE_FILE

$ git commit

答案是: 在的 ,并且会占用仓库的大小。Git 会保存每一次提交的文件版本,而 Dockerfile 中每一条指令都可能增加整体镜像的大小,即使它最终什么事情都没做。

精简步骤

了解了镜像层知识,有助于我们接下来制作精简镜像。这里开始,以最常用的开源缓存软件 Redis 为例,从一步步试验,来介绍如何制作更精简的 Docker 镜像

步骤 1:初始化构建 Redis 镜像

直接上 Dockerfile :

FROM ubuntu:trusty

ENV VER     3.0.0

ENV TARBALL http://download.redis.io/releases/redis-$VER.tar.gz

# ==> Install curl and helper tools...

RUN apt-get update

RUN apt-get install -y  curl make gcc

# ==> Download, compile, and install...

RUN curl -L $TARBALL | tar zxv

WORKDIR  redis-$VER

RUN make

RUN make install

#...

# ==> Clean up...

WORKDIR /

RUN apt-get remove -y --auto-remove curl make gcc

RUN apt-get clean

RUN rm -rf /var/lib/apt/lists/*  /redis-$VER

#...

CMD ["redis-server"]

结合注释,读起来并不困难,用到的都是常规的几个命令,简要介绍如下:

  • FROM:顶头写,指定一个基础镜像,此处基于 ubuntu:trusty
  • ENV:设置环境变量,这里设置了 VER 和 TARBALL 两个环境变量
  • RUN:最常用的 Dockerfile 指令,用于运行各种命令,这里调用了 8 次 RUN 指令
  • WORKDIR:指定工作目录,相当于指令 cd
  • CMD:指定镜像默认执行的命令,此处默认执行 redis-server 命令来启动 redis

执行构建:

$ docker build  -t redis:lab-1  .

注:国内网络,更新下载可能会较慢

查看大小:

 

20161027203303

 

动辄就有 300多 M 的大小,不能忍,下面我们开始一步步优化。

步骤 2: 优化基础镜像

方法:选用更小的基础镜像。

常用的 Linux 系统镜像一般有 ubuntu、centos、debian,其中debian 更轻量,而且够用,对比如下:

REPOSITORY     TAG        IMAGE ID           VIRTUAL SIZE

---------------           ------          ------------                ------------

centos              7               214a4932132a     215.7 MB

centos              6               f6808a3e4d9e      202.6 MB

ubuntu              trusty       d0955f21bf24      188.3 MB

ubuntu              precise    9c5e4be642b7     131.9 MB

debian              jessie       65688f7c61c4      122.8 MB

debian              wheezy    1265e16d0c28      84.96 MB

替换 debian:jessie 作为我们的基础镜像。

优化 Dockerfile:

FROM debian:jessie

#...

执行构建:

$ docker build  -t redis:lab-2  .

查看大小:

 

20161027203254

 

减少了42M,稍有成效,但并不明显。细心的同学应该发现,只有 122 MB 的 debian 基础镜像,构建后增加到了 305 MB,看来这里面肯定有优化的空间,如何优化就要用到我们开头说到的 Image Layer 知识了。

步骤 3:串联 Dockerfile 指令

方法: 串联你的 Dockerfile 指令(一般是 RUN 指令)。

Dockerfile 中的 RUN 指令通过 && 和 / 支持将命令串联在一起,有时能达到意想不到的精简效果。

优化 Dockerfile:

FROM debian:jessie

ENV VER     3.0.0

ENV TARBALL http://download.redis.io/releases/redis-$VER.tar.gz




RUN echo "==> Install curl and helper tools..."  && \     apt-get update                      && \   

  apt-get install -y  curl make gcc   && \  

  \   

  echo "==> Download, compile, and install..."  && \  

  curl -L $TARBALL | tar zxv  && \   

  cd redis-$VER               && \   

  make                        && \   

  make install                && \   

  ...   

  echo "==> Clean up..."  && \   

  apt-get remove -y --auto-remove curl make gcc  && \

  apt-get clean                                  && \   

  rm -rf /var/lib/apt/lists/*  /redis-$VER




#...

CMD ["redis-server"]

构建:

$ docker build  -t redis:lab-3  .

查看大小:

 

20161027203318

 

哇!一下子减少了 50%,效果明显啊!这是最常用的一个精简手段了。

步骤 4:压缩你的镜像

方法:试着用命令或工具压缩你的镜像。

docker 自带的一些命令还能协助压缩镜像,比如 export 和 import

$ docker run -d redis:lab-3

$ docker export 71b1c0ad0a2b | docker import - redis:lab-4

但麻烦的是需要先将容器运行起来,而且这个过程中你会丢失镜像原有的一些信息,比如:导出端口,环境变量,默认指令。

所以一般通过命令行来精简镜像都是实验性的,那么这里再推荐一个小工具: docker-squash。用起来更简单方便,并且不会丢失原有镜像的自带信息。

下载安装:

https://github.com/jwilder/docker-squash#installation(复制此链接到浏览器打开)

压缩操作:

$ docker save redis:lab-3 \ 

  | sudo docker-squash -verbose -t redis:lab-4  \ 

  | docker load

注: 该工具在 Mac 下并不好使,请在 Linux 下使用

对比大小:

 

20161027203328

 

好吧,从这里看起来并没有太大作用,所以我只能说试着,而不要报太大期望。

总结

本期我们介绍了镜像层的知识,并且通过实验,介绍三种如何精简镜像的技巧(下期还有更强大的技巧)。这里主要介绍了三种精简方法:选用更精小的镜像,串联 Dockerfile 运行指令,以及试着压缩你的镜像。通过这几个技巧,已经可以将 300M 大小的镜像压缩到 150M,压缩率50%,效果还是不错。但这还远远不够,下篇我们将介绍一些终极手段,压缩效果可以达到 98%哦!

来自官方手册:https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora

Including Red Hat® Enterprise Linux® / RHEL, CentOS and Fedora.

Node.js is available from the NodeSource Enterprise Linux and Fedora binary distributions repository. Support for this repository, along with its scripts, can be found on GitHub at nodesource/distributions.

Note that the Node.js packages for EL 5 (RHEL5 and CentOS 5) depend on the EPEL repository being available. The setup script will check and provide instructions if it is not installed.

Run as root on RHEL, CentOS or Fedora, for Node.js v6 LTS:

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -

Alternatively for Node.js v7:

curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -

Alternatively for Node.js 0.10:

curl --silent --location https://rpm.nodesource.com/setup | bash -

Then install, as root:

yum -y install nodejs

剁手买了牛逼的2K显示器,美呵呵的回来拿HDMI插在电脑上,发现最高只能设置1920x1080的分辨率,当时立马懵比了。老台式机或笔记本没有DP接口只有HDMI咋办,如果是台式机还好,装个带DP的显卡即可,笔记本咋整?比如核芯显卡HD4000一类的,呵呵了。

上网搜了一圈,发现大家的解决方案都是利用intel显卡驱动中自定义分辨率的方式使用CVT-RB时钟标准实现HDMI传输55赫兹2560x1440的分辨率,我设置过后,每次一点击应用,屏幕无反应也无报错,后来在intel官方社区查到解决方案,其中第三步没有做,导致失败。

以下是正文:

参考:https://communities.intel.com/thread/42847

Step 1: Run "CustomModeApp". Just push Win+R and enter: CustomModeApp, press OK.

第一步:打开“自定义分辨率”,桌面右键“图形选项”-“自定义分辨率”;或者按Win键+R打开运行窗口,输入"CustomModeApp",回车。

 

Step 2. Create your resolution (here are the settings for my Dell U2711 on 2560x1440) and click Add:

第二步:创建自定义的分辨率设置,见下图。我使用的HDMI线比较便宜,在55赫兹下会偶尔出现瞬间黑屏现象,将分辨率下调至50赫兹便可解决。

downloadImage/2-209163-233697/450-337/step2.png" alt="step2.png" width="450" height="337" />

Step 3. Check if your monitor driver allow this resolution (probably not...):

Right click on your desktop, choose "Screen resolution".

Select your external display, by clicking on it, then click "Advanced settings".

Go to tab "Monitor" and uncheck "Hide modes that this monitor cannot display".

Like this:

第三步:这点非常重要,博主在此走了不少弯路,一定要在去掉“隐藏该监视器无法显示的模式”前面的勾,否则执行第四步的时候会出现提示成功但实际没有任何变化的现象。

具体步骤是,桌面右键-显示设置-高级显示设置(如果是笔记本需要注意,要在多显示器这里设置为仅在2上显示,也就是外接的显示器)-点击一下上面的2,然后在最下面点击“显示适配器属性”,然后如下图所示设置。

downloadImage/2-209163-233698/Step3.png" alt="Step3.png" width="428" height="320" />

Click OK.

 

Step 4. Select the correct resolution.

Right click on your desktop and choose: "Graphic Properties..."

The new resolution is listed. Choose it:

第四步:以上操作完毕后,这里就很简单了,桌面右键-图形属性-显示器-分辨率,选择你之前自定义好的分辨率,然后点击应用。

downloadImage/2-209163-233699/450-337/Step4.png" alt="Step4.png" width="450" height="337" />

Click apply. You're done. If nothing happens after clicking apply, (in my case) your monitor driver still does not allow this setting.

呵呵,祝君好运!

搜索引擎优化(seo)有很多工作要做,其中对代码的优化是一个很关键的步骤。为了更加符合SEO的规范,下面是目前流行的CSS+DIV的命名规则:

页头:header

登录条:loginBar

标志:logo

侧栏:sideBar

广告:banner

导航:nav

子导航:subNav

菜单:menu

子菜单:subMenu

搜索:search

滚动:scroll

页面主体:main

内容:content

标签页:tab

文章列表:list

提示信息:msg

小技巧:tips

栏目标题:title

友情链接:friendLink

页脚:footer

加入:joinus

指南:guild

服务:service

热点:hot

新闻:news

下载:download

注册:regsiter

状态:status

按钮:btn

投票:vote

合作伙伴:partner

版权:copyRight

CSSID的命名

外套:wrap

主导航:mainNav

子导航:subnav

页脚:footer

整个页面:content

页眉:header

页脚:footer

商标:label

标题:title

主导航:mainNav(globalNav)

顶导航:topnav

边导航:sidebar

左导航:leftsideBar

右导航:rightsideBar

旗志:logo

标语:banner

菜单内容1:menu1Content

菜单容量:menuContainer

子菜单:submenu

边导航图标:sidebarIcon

注释:note

面包屑:breadCrumb(即页面所处位置导航提示)

容器:container

内容:content

搜索:search

登陆:login

功能区:shop(如购物车,收银台)

当前的current

样式文件命名

主要的:master.css

布局版面:layout.css

专栏:columns.css

文字:font.css

打印样式:print.css

主题:themes.css

文/丁向明

做一个有博客的web前端自媒体人,专注web前端开发,关注用户体验,加我qq/微信交流:6135833

http://dingxiangming.com

第一次接触aSV虚拟化,所以也非常好奇的安装并体验了一把。
整个的安装过程其实还是比较简单的,不过对硬件配置还是有一定的要求。
官方好像也没有看到有具体的硬件配置要求,不过安装中如果配置不达标,会给出提示并中断安装。


1.首先下载download.sangfor.com.cn/download/product/vmp_updates/VMP3.5.03(20150529).iso" target="_blank">VMP安装镜像 ,然后将其刻录到光盘或U盘启动,下图是开机后安装的引导界面,这里我选择的是安装虚拟化管理平台。


2.紧接着就选择SANGFORVMP Installer


3.欢迎界面和一些介绍

4.OK后会看到检测硬件各个选项的过程,这里如果内存或者磁盘配置不满足要求,会有相关的提示。


5.选择用来安装VMP的磁盘


6.这里的警告是告诉你磁盘的所有数据将被清除,对于新安装的情况直接YES继续。


7.这步是对磁盘进行检测,建议YES。


8.之后就是安装VPM一些必要软件的过程了,坐等即可。


9.安装完后是一个网络设定的过程,首先让你选择网络接口(设备)


10.配置网络接口的IP地址相关信息,不用多说了吧。


11.IP信息确认。


12.是否需要配置其他的接口,由于我就一个,所以直接NO下一步。


13.显示初始登录的账号和密码。(登录WEB控制台)


14.安装结束,Reboot。


15.用另一台可以与Server通信的电脑,打开浏览器输入IP地址。


16.点击控制台的实体机--》存储--》本地存储上传要安装虚拟机的镜像。


17.新建一个虚拟机,这个过程还是非常简单的。


18.启动虚拟机,在虚拟机的控制台可以看到安装界面




基本上就到这里吧,个人觉得这套系统还是蛮不错,用起来比较简单,而且也能够提高资源的利用率,在数据备份方面也蛮不错,不过我最感兴趣的还是其热迁移和HA的技术,对于企业而言非常的适用,忙完这段时间再好好研究下这套东西吧。

使用方法:
putty左侧分类选择Connection->Data,右侧一目了然。填好账号密码后,可以在Session中保存。现在是明文保存,存在一定风险,请勿保存未做安全措施线上服务器信息。
修改方法:
0. 网上搜索了教程,基本都是针对putty0.6版本的,对于C++水平较弱的人来说,参考教程给的思路,整理了一下方法。大体思路就是利用ssh可以保存用户名的功能扩展成保存密码的功能,基本采用复制username修改为password的方式制作,目前只支持SSH2登录方式,对于大多数linux服务器来讲足够了。

1. 官网下载putty源码 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
2. 使用VS2012以上C++编译项目
3. 修改config.c文件1952行,增加:

ctrl_editbox(s, "Auto-login password", 'w', 50,
HELPCTX(connection_password),
conf_editbox_handler, I(CONF_password), I(1));

4. 修改putty.h文件712行,增加:
X(STR, NONE, password) \
X(INT, NONE, password_from_env) \

5. 修改winhelp.h文件78行,增加:
#define WINHELP_CTX_connection_password "connection.password:config-password"
#define WINHELP_CTX_connection_password_from_env "connection.passwordfromenv:config-password-from-env"

6. 修改ssh.c文件,搜索Send the password packet
在注释下面增加:
oYeah:;

找到ssh2_pkt_addstring(s->pktout, s->password);
替换s->password为ssh->password

搜索Plain old password authentication.
在下面代码
add_prompt(s->cur_prompt, dupprintf("%s@%s's password: ",
ssh->username,
ssh->savedhost),
FALSE);
的后面增加:
ssh->password = conf_get_str(ssh->conf, CONF_password);
s->password = ssh->password;
if (strlen(ssh->password) == 0) {
ret = get_userpass_input(s->cur_prompt, NULL, 0);
while (ret < 0) {
ssh->send_ok = 1;
crWaitUntilV(!pktin);
ret = get_userpass_input(s->cur_prompt, in, inlen);
ssh->send_ok = 0;
}
}
else {
ret = 1;
goto oYeah;
}

dialog.c

增加

union control *ctrl_editpasswordbox(struct controlset *s, char *label, char shortcut,
int percentage,
intorptr helpctx, handler_fn handler,
intorptr context, intorptr context2)
{
union control *c = ctrl_new(s, CTRL_EDITBOX, helpctx, handler, context);
c->editbox.label = label ? dupstr(label) : NULL;
c->editbox.shortcut = shortcut;
c->editbox.percentwidth = percentage;
c->editbox.password = 1;
c->editbox.has_list = 0;
c->editbox.context2 = context2;
return c;
}

这里的c->editbox.password = 1;说明该文本框为密码类型

.config 引用的地方也要改为对应的函数

ctrl_editpasswordbox(s, "Auto-login password", 'w', 50,
HELPCTX(connection_password),
conf_editbox_handler, I(CONF_password), I(1));

点击下载:putty.0.64