分类 Paas 下的文章

环境搭建


SpringCloudAlibaba简介

springcloud

spring团队开源微服务工具集,帮助我们快速构建分布式系统(微服务系统),提供spring组织 netflix

springcloud alibaba

alibaba团队开源微服务工具集,帮助我们快速构建分布式系统(微服务系统) 提供alibaba解决方案

springcloud alibaba是阿里云为分布式应用开发提供了一站式解决方案。它包含了开发分布式应用程序所需的所有组件,使您可以轻松地使用springcloud开发应用程序。
有了阿里云,你只需要添加一些注解和少量的配置,就可以将Spring云应用连接到阿里的分布式解决方案上,用阿里中间件搭建一个分布式应用系统。

spring cloud alibaba 特点

技术支持springcloud alibabaspringcloud netflix
服务降级和流量控制sentinelhystrix
服务注册与发现nacoseureka 、consul
分布式配置& 事件驱动消息总线nacosconfig & bus
分布式事务&dubboseta

springcloud 组件

技术支持springcloud alibabaspringcloud netflix
服务注册与发现组件nacoseureka consul
服务间通信组件restTemplate+ribbon,OpenfeignrestTemplate+ribbon,Openfeign
服务降级和熔断sentinelhystrix hystrix dashboard
服务网关组件gatewaygateway
统一配置中心组件 消息总线组件nacosconfig bus

微服务项目实战开发 springcloud netfilx + springcloud alibaba +springcloud spring

五大组件选择

  • 1.服务注册中心 ====> Nacos (alibaba)

  • 2.服务通信间的负载均衡 ====> RestTemplate+Ribbon (Netflix)或者Openfeign (Spring)

  • 3.服务熔断和服务降级 ====> sentinel (alibaba)

  • 4.服务网关组件 ====> Gateway (Spring)

  • 5.统一配置中心组件 ====>Nacos (alibaba)

SpringCloudAlibaba环境搭建

1、新建一个空项目

2、在空项目中新建一个模块

3、添加相关依赖

<!--继承springboot父项目-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
    </parent>

    <!--定义版本号-->
    <properties>
        <spring.cloud.version>Hoxton.SR6</spring.cloud.version>
        <spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
    </properties>

    <!--维护依赖-->
    <dependencyManagement>
        <dependencies>
        <!--维护springcloud-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        <!--维护springcloud alibaba-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>


SpringCloud 微服务架构(基础详解)

微服务架构的概念

SpringCloud微服务更新

SpringCloud微服务架构项目搭建注意事项

RestTemplate

微服务注册中心

Eureka(停更)

Zookeeper

Consul

Nacos

负载均衡服务调用

Ribbon负载均衡服务调用

OpenFeign服务接口调用

服务降级、熔断、限流、隔离

Hystrix(停更)

服务网关

SpringCloud Gateway

服务配置

SpringCloud Config

消息配置

SpringCloud Bus服务总线

SpringCloud Stream消息驱动

分布式请求链路追踪

SpringCloud Sleuth分布式请求链路追踪

SpringCloud Alibaba 基础详解

SpringCloud Alibaba 概念

SpringCloud Alibaba Nacos 服务注册中心

SpringCloud Alibaba Nacos 服务配置中心

SpringCloud Alibaba Nacos 集群与持久化

SpringCloud Alibaba Sentinel 服务熔断降级、限流

SpringCloud Alibaba Seata 分布式事务框架

微服务架构的概念

微服务架构是一种架构模式,它提倡将单一的应用程序划分成一组小的服务,服务之间互相协调、互相融合,为用户提供最终价值,每个服务在其独立的进程中,服务与服务间采用轻量级通信机制互相协作(通常是基于HTTP协议的Restful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。


SpringCloud微服务更新

打钩代表目前在用,打叉表示停更或被替代



SpringCloud微服务架构项目搭建注意事项

一、项目构建:

1、约定 > 配置 > 编码

二、微服务整体聚合父工程

1、新建简单工程

2、聚合父工程名字

3、选择 maven 版本

4、工程名字

5、字符编码

6、注解生效激活

7、java 编译版本选择 1.8

8、File Type过滤

三、对父工程的pom管理的jar包内容优化

1、将maven默认 <package>jar</package> 改为 <package>pom</package>

2、统一jar包管理版本 <properies></properies>

3、<dependencyManager>子模块继承之后,提供作用:锁定版本 + 子 modlue 不用写 groupId 和 version,对jar包的管理值负责声明,不负责引入。

四、微服务模块的构建步骤

1、建 module

2、改 pom

3、写 yml

4、主启动

5、业务类


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

RestTemplate

概念: RestTemplate提供了便捷访问Http服务的方法,是一种简单便捷的访问 restful服务模板类,是spring提供的用于访问Rest服务的客户端模板工具集。参考spring官网。



使用: (url,requestMap,ResponseBean.class)这三个参数分别代表如下:

1、REST请求地址

2、请求参数

3、HTTP响应转换被转换成的对象类型


将RestTemplate注入到spring容器中,交给spring进行管理:


@Configuration

public class ApplicationContextConfig{


@Bean

public RestTemplate getRestTemplate(){

return new RestTemplate();

}

}

1

2

3

4

5

6

7

8

微服务注册中心

CAP原则:https://blog.csdn.net/qq_36763419/article/details/120014638


Eureka(停更)

SpringCloud 与 Eureka 的集成:https://blog.csdn.net/qq_36763419/article/details/119734826


Zookeeper

SpringCloud 与 Zookeeper 的集成:https://blog.csdn.net/qq_36763419/article/details/119954590


Consul

SpringCloud 与 Consul 的集成:https://blog.csdn.net/qq_36763419/article/details/119987591


Nacos

负载均衡服务调用

Ribbon负载均衡服务调用

SpringCloud 与 Ribbon 的集成:https://blog.csdn.net/qq_36763419/article/details/120015109


OpenFeign服务接口调用

SpringCloud 与 OpenFeign 的集成:https://blog.csdn.net/qq_36763419/article/details/120063156


服务降级、熔断、限流、隔离

Hystrix(停更)

SpringCloud 与 Hystrix 的集成:https://blog.csdn.net/qq_36763419/article/details/120119872


服务网关

SpringCloud Gateway

SpringCloud 与 Gateway 的集成:https://blog.csdn.net/qq_36763419/article/details/120492044


服务配置

SpringCloud Config

SpringCloud 与 Config 的集成:https://blog.csdn.net/qq_36763419/article/details/120765489


消息配置

SpringCloud Bus服务总线

SpringCloud 与 Bus + RabbitMQ + Config 的集成:https://blog.csdn.net/qq_36763419/article/details/120851600


SpringCloud Stream消息驱动

SpringCloud 与 Stream + RabbitMQ 的集成:https://blog.csdn.net/qq_36763419/article/details/120969333


分布式请求链路追踪

SpringCloud Sleuth分布式请求链路追踪

SpringCloud 与 Sleuth + Zipkin 的集成:https://blog.csdn.net/qq_36763419/article/details/121065169


SpringCloud Alibaba 基础详解

SpringCloud Alibaba 概念

SpringCloud 与SpringCloud Alibaba 的集成:https://blog.csdn.net/qq_36763419/article/details/121127017


SpringCloud Alibaba Nacos 服务注册中心

SpringCloud 与SpringCloud Alibaba Nacos 服务注册中心的集成:https://blog.csdn.net/qq_36763419/article/details/121167710


SpringCloud Alibaba Nacos 服务配置中心

Nacos 作为服务配置中心:https://blog.csdn.net/qq_36763419/article/details/121188285


SpringCloud Alibaba Nacos 集群与持久化

Nginx(高可用) + Nacos(集群) + mysql(主从复制): https://blog.csdn.net/qq_36763419/article/details/121179174


SpringCloud Alibaba Sentinel 服务熔断降级、限流

SpringCloud 与 Sentinel 服务熔断降级、限流的集成:https://blog.csdn.net/qq_36763419/article/details/121325199


SpringCloud Alibaba Seata 分布式事务框架

SpringCloud 与 Seata 分布式事务的集成:https://blog.csdn.net/qq_36763419/article/details/121563729

持续更新中。。。。。。

————————————————

版权声明:本文为CSDN博主「陌守」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_36763419/article/details/119250022


桌面虚拟化能够完美解决远程办公带来的各种难题,尤其是在疫情期间,VDI真是火了一把。

相对于Xendesktop和horizon,以及各种厂商的VDI解决方案,PVE从免费,就已经秒杀了全部。从虚拟化底层来说,PVE基于开源的debian,只要会linux,就能快速上手PVE,简单通透的命令指令,可以使PVE运维成本极低。

笔者趁着工作变动,不断摸鱼学着老前辈的经验。看着各种企业级超融合平台,更是对小众的PVE充满希望。

一:为什么选择Proxmox VE底层

1、免费

 VMware vSphere Essentials Kits(6个处理器) 一年最少3W RMB。Citrix 往往捆绑销售。企业超融合平台,还有深信服、华为、nutanix等等。 对于一般企业来说,是个很大的开支。

而PVE却是免费。算上购买企业仓库,也就1000元/percpu。

2、超融合平台

PVE不仅仅是一个虚拟化底层,他还是个一个超融合平台。什么是超融合?

超融合基础架构继承了融合式架构的一些特性,同样都是使用通用硬件服务器为基础,将多台服务器组成含有跨节点统一储存池的群集,来获得整个虚拟化环境需要的效能、容量扩展性与数据可用性,可透过增加群集中的节点数量,来扩充整个群集的运算效能与储存空间,并透过群集各节点间的彼此数据复制与备份,提供服务高可用性与数据保护能力。而为能灵活地调配资源,超融合架构也采用了以虚拟机(VM)为核心,软件定义方式来规画与运用底层硬件资源,然后向终端用户交付需要的资源。

PVE5.3版本已经集成了ceph分布式储存架构,在管理面板可以直接配置整个集群的ceph,不仅整合集群的储存资源,更完美地实现了HA容灾的存储需求。

PVE6.2版本集成了SDN网络功能

proxmox buckup server已经发布测试版本,能够完美的在集群架构下,备份VM或者物理机,给用户带来更强大的容灾能力。

对于vmware,他将超融合都集成了在了一起,而是不是单独的将计算节点、储存、网络还有管理节点分开。

3、开源

可以在https://git.proxmox.com。查看proxmox的源代码。有能力,可以去做二次开发。

4、与Debian同样的兼容性

PVE基于debian,使用linux的管理命令。专有的PVE管理命令qm也非常简单易懂。在储存上,支持debian支持的一切储存。在网络上,支持debian支持的一切网络。可以把想象PVE是debian上的一个超融合软件。并不需要考虑PVE是否兼容企业的服务器。

5、轻量独特的管理架构

PVE有着独特的“去中心化”。“center”这个词很常见,例如vCenter。我们用一个另一个概念去解释“center”,也就是“管理节点”。管理节点可以是物理机、也可以是虚拟机。

企业往往会面对管理节点宕机的挑战。

所幸PVE没有管理节点。
任何一个节点,都可以控制其他节点,节点与节点之间也没有主从概念。通过反向代理、负载均衡技术或者是HA技术,都可以是PVE的面板永不下线。

PVE更有一个轻量的管理界面,使用html5、 AJAX 、ExtJS 6.x JavaScript框架。

在GUI面板上,3侧栏递归式分布,菜单功能一目了然,对于臃肿的vCenter管理界面,简直是眼前一亮。

6、完美的laas交付平台

PVE基于KVM虚拟化,性能无庸置疑,只有1%~3%的性能损失。

在linux交付上。PVE集成cloud-init组件,可以通过制作模板,可以批量克隆创建linux-VM。
在Windows交付上。PVE可以完美虚拟2003以上windows guest OS。同时PVE可以通过qemu-guest-agent程序,监控和控制VM。

利用KVM的CPU模拟技术,集群中不强制要求同样CPU型号的服务器。都可以通过一个名为kvm64的处理器,来进行HA热迁移。

其底层可以支持ZFS储存,配合ceph,不需要高额的RAID卡等软硬件成本,利用内存、SSD,可以给整个集群带来强大的读写缓存支持。

7、集成了防火墙的网络虚拟化

PVE内置防火墙。企业不需要再购买额外的内网网络安防设备。

通过对VLAN的划分,可以划分不同的资源池。达到不同部门的隔离、互访。

同样基于debian的os,兼容市面上高性能的100G、400G网卡,利用半虚拟化virtio网卡,轻松可以构建1G、10G、40G、100G内部网络。使用网络限速功能,轻松在逻辑上QOS。PVE也支持SR-IOV,在面板上即可配置vf网卡。

 

 

二:云桌面架构的选择

1、基于RDP的云桌面架构RDS

在PVE主机上新建VM,做为guest os。并且加入ad域。
创建一个RDP桌面网关,作为RDP的连接代理,可以实现内外网分离。

基于RDP的云桌面架构无疑是最为简单的,百来人一个技术人员都能够游刃有余的解决VM的资源分配以及账户分配。瘦终端也广泛支持。

但是RDP协议是在OS层面上的,并不能管理VM的电源。也就是如果员工误关机,他就不能自动连接的时候开机。

 

2、基于spice协议的云桌面

PVE基于KVM,当然支持SPICE。PVE面板上,给VM配置了QXL显示适配器,即可使用SPICE显示器。需要客户端安装virt-viewer。

PVE面板上的SPICE默认是由PVE的3128端口代理的。所以,如果要使用spice协议进行云桌面。有3种解决方案

  • 进入webgui,下载spice连接配置文件

  • 创建启动脚本/程序,自动下载spcie连接配置文件

  • 修改VM配置文件,固定spice连接端口

显而易见第一种方法无疑是最便捷的。第二种方法很好,但实现自动化,需要技术支持。第三种方法比较浪费人力,需要IT人员手动下发配置或者更改密码。且SPICE性能并不是很好。

 

 

3、基于horizon的云桌面

虽然底层是PVE,但并不影响horizon的部署。缺点是需要horizon授权和没有3D支持。

 

4、基于xendesktop的云桌面

参考文章:Proxmox VE与Citrix XenDesk集成 (buduanwang.vip)

 

如果在PVE上添加GPU加速器,给VM添加虚拟显卡,使用xendesktop,可以发挥VM的3D性能。能够进行3D渲染,甚至游戏。 缺点是需要授权。

 

三:企业如何选择

在千人以下,选择RDP也是非常可观的,近乎0额外成本。(除开window的授权和IT人员的开销)

 

四:我们正在开发,适用于Proxmox VE,且集成RDP、Spice和Vnc的云桌面客户端。

RDP支持域。敬请期待。

 

版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/vdi/640.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角


d1fb5ec7baf926630c6bda543baf4a5f.png

本文图片较多,有限流量党慎入,部分内容参考过网络上已有文章,所有工具收集自互联网

1.硬件选择

我定下的目标是家用NAS,而且要价格便宜!耗电量要低,但是性能又不能太差,必须达到主流水准吧!

1.1主板

主板就选当前最容易买到的华擎J3455-ITX,至于性能更好些的J4105-ITX之类的,如果你能买到还是可以的,如果有PCIEx16的需要且对主板只带2个SATA能忍可以上M系列。4105比3455多了一个M2插槽,但是这个插槽只能上无线网卡。这里我选择3455-ITX吧。

参数对比:


d7af1c740910ea4844b195f53d24e064.png


a1fafa8e2080fbe284934d86235be0c6.png


7e99144ba47c041f50c61016d917702c.png

主板差不多长这样:主要关注的参数有4个SATA!千兆网卡,pcie2.0插槽一个。


0420969c6ab5f4dde24006f6b935c8a9.png

主板图

1.2内存

内存大小

至少4GB以上,推荐8GB到16GB,如果你有同时使用多个虚拟机的情况,那么4GB是有点局促的。

鉴于网上流传着这块主板挑内存,那就随便选个兼容的低电压内存吧,牌子随意,具体型号可以查看兼容列表


c4d1bf6e5a73638861fe2aaf6e1fae8c.png


19800c70178cb3dad1405405fdf50dbd.png

我这里就简单在某宝选个兼容型号

1.3电源

NAS是一个长期不关机的设备,一个好一点的电源就是必须的了,好在这块主板的功耗很低,加上4块硬盘的满载功耗也应该不到30W,选择一个不那么山寨的牌子就好,我这里就用我自有的爱国者额定300W黑暗骑士吧。


502bca5c91514d484931f5eca57acda0.png

1.4机箱

网上的NAS机箱普遍价格虚高,如果手头比较紧且对空间占用和颜值没有太高要求,可以使用普通机箱代替。不差钱的估计也上成品NAS了,我就不做推荐了,图吧基佬甚至能用鞋盒。

1.5硬盘

NAS的主要部件之一就是硬盘,推荐一块固态硬盘加三块机械硬盘。

固态硬盘建议64GB以上,鉴于现在固态硬盘价格很便宜,上个240GB的也无妨。机械硬盘的话就按需购买就行了。如果数据比较重要可以组raid5(硬盘比较大的情况下有较大概率恢复失败的概率),如果不重要的话建议不要组raid,组raid的话一读写数据所有硬盘都要工作,耗电量较大,噪音也大。

2.系统选择

1.1NAS系统

系统是整个NAS的灵魂所在,常见的NAS系统有开源的FREENAS,OpenMediaVault,EasyNAS,不免费的群晖,或者WINDOWS ,介于我的定位是家用,那么易用性就得占主导地位,选择群晖吧。

1.2平台系统

鉴于群晖的特殊性(需要引导盘等等),我决定将NAS系统安装到虚拟机上。这样便于管理和迁移。

常见的虚拟机系统有ESXI,但是我尝试之后发现对网卡比较挑剔,J3455需要提前灌入驱动才行,有点麻烦,于是选择另外一个免费开源虚拟机系统PROXMOX VE,难能可贵的是它还支中文!


c8068289c23c00007a5c977c104a1eb5.png

3.系统安装

把硬件组装好之后就可以安装系统了。

首先到Proxmox VE官网下载最新版的系统并校验文件,

Download Proxmox software, documentation, agreementswww.proxmox.com

然后将系统镜像通过软碟通等刻录软件刻录到光盘或者U盘,将U盘接到主板USB接口上,开机,在bios里面选择U盘启动,检查一下CPU虚拟化是否开启,然后重启按照提示操作即可。


9980ee6bacb97bb14dcd28174417017b.gif

简易图示

4.虚拟机使用及配置小鸡

在局域网内的其他电脑上输入PVE的地址

记得加上https://和端口号8006(例如:https://192.168.1.100:8006)

登陆的时候如果提示证书错误请选择继续打开。

输入用户名root及刚才设置的密码


86be680dbfb6b256c7fccee12d49ddc7.png

提示没有有效订阅,请点击确定或者"x"以忽略.

4.1创建群晖虚拟机

选择右上角创建虚拟机创建一个虚拟机

ID默认即可,名称随意,

下一步操作系统选“不使用任何介质”

下一步硬盘总线选”sata“,磁盘大小随便填个20GB吧(只用来安装群晖的DSM及部分软件)设置太大会导致备份恢复慢。

下一步CPU按需设置,甚至可以保持默认。

下一步内存按需分配,我这里选择4GB

下一步网络模型设置为”半虚拟化“(synology DS 3617XS 6.1.6-15266可以选择半虚拟化,6.2-23739版本选择intel E1000)

下一步,检查配置信息,确认无误点击”完成“

稍等片刻即可完成创建(在右侧PVE目录下可以看到)。


22cf6fe36ccd63be17a8df0885aa7605.gif

准备WINSCP,通过WINSCP登陆到你的PVE主机,主机名为你的PVE地址,也就是在浏览器中输入的访问地址不需要填写”https://“及端口号”8006“


75c3ce4d0d8aff66d63836432897c6be.png

具体配置示意图

黑群晖系统也有很多个型号,常见的有3617,3615或者918,我这里就选择3617吧

登陆到ROOT目录下,将img2kvm工具及群晖3617的引导synoboot.img拖进去。

在web管理页面选择”pve“,点击”shell“打开web shell

输入

chmod +x img2kvm

并回车

输入

以下加粗部分为虚拟机ID,可以在左侧视图里面看到,如果是新建的第一个虚拟机那么应该是100,如果你的ID不一样,改成你的ID即可。

./img2kvm synoboot.img 100 vm-100-disk-1

并回车

如果操作无误,在WINSCP刷新一下,你将会看到多了一个名为vm-100-disk-1.qcow2的文件。

在硬件目录会多出来一个”未使用的磁盘0“


1bee6356e3c929f9236ac9165b5ab2b7.png

如图所示

双击这块磁盘,并根据提示添加它,总线/设备 选择“SATA”其他保持默认,然后你会看到一个硬盘(sata1)已经添加成功,容量为52MB,这将是群晖的引导盘。


01e17d6d26e88d7391b40066064665b6.png

接着在“选项”里面修改引导设备1为sata1并保存。


e13e992a4b3b7efb1e9d291d905c87a8.png

如果操作无误,那么你将会有2个虚拟的硬盘已经上线,一个20G,一个52MB(我的上上图只是用来演示所以只分了10GB,不要学我!!

接下来就可以通过 控制台/电源/开机 了!


62383da791483086dceb875c4dae2d47.png

经过片刻等待之后会看到提示。


d058dfb3b37cebff3b4a19cfcc3ad366.png

接下来通过群晖助手搜索设备!

下载安装synology Assistant后打开即可搜索到局域网内的群晖设备,没有安装群晖系统的会在“状态”提示DSM未安装。


267a2145b0a18523a84218fc489504cc.gif


e23466478b07642202d05843f0266aa8.png

可以双击未安装DSM的群晖设备以在浏览器中打开配置页面,也可以在浏览器输入未安装DSM的群晖设备的IP地址加端口号:5000。


51d0082fb3e77c3889cc1be3eeffdca7.png

点击“设置”进入下一步,安装系统的时候不要选择“安装最新版的DSM”!!请本地上传你下载的DSM6.2-23739


27973d5ab96e0a2e4ec3e43ad58e397e.gif

群晖的DSM系统未pat格式(其实就是个压缩包,可以用winrar打开),如果安装的是6.2-23739的引导,那么你只能使用23739版本的系统,用其他版本极有可能让你前功尽弃。黑裙虽好,有钱的还是建议上白的哦!省心,其他品牌的也行。

系统可以在官网下载:这里我直接将官网地址贴出来

Index of /download/DSM/release/6.2/23739archive.synology.com

经过大约10分钟的等待之后就可以进入到配置页面了,根据提示配置系统即可,唯一一点需要注册的就是时刻谨记自己是黑的,不要选择“自动安装更新”,也不要去尝试使用quickconnect,用不了是肯定的!


4d5424c61f18c7b10a90b8d601474a5a.gif

至此为止,你的DSM系统已经安装到你的固态硬盘里面了!

然后将NAS关机!


37871fedf1e4f0cfa4cbee621c5e6b34.png

关机完毕之后,将物理磁盘直接直通给群晖!

回到proxmox,选择shell


9c0983a309ab87c4d6f901e3320a1245.png

输入apt-get install lshw

回车,安装lshw

输入ls -l /dev/disk/by-id/

回车,查看磁盘ID

正常情况下你就可以看到你接的所有硬盘ID了


766ad3494e550e426b33b9c1132df2d7.png

我的第一块是金士顿的240G SSD,然后第二和第三块是希捷的2TB机械硬盘,从ST2000......这个是硬盘序列号,可以查出这是什么硬盘,以便于和你的硬盘对号入座!

直接从shell中复制出ID(不建议手动输入,容易出错!)

例如我的第二块硬盘ID为ata-ST2000DM001-1ER164_Z4Z1EYYK

然后在shell输入以下代码

qm set 103 --sata2 /dev/disk/by-id/ata-ST2000DM001-1ER164_Z4Z1EYYK

其中103 是我要直通到的虚拟机ID,sata2是硬盘顺序(因为我的引导是52MB的sata1,系统盘是20GB的sata0,所以下一块直通的盘应该是sata2,下下块是sata3) 然后/dev/disk/by-id/ 后面是你复制出的硬盘ID。


d8424becb63fc68643ebf2d14f592cb8.png

不记得怎么查虚拟机ID的看这里

输入代码后回车就可以在虚拟机(我这里是103(DSM2))的“硬件”菜单看到一块“未使用的磁盘”,和先前添加引导盘一样双击选择"SATA"之后保存即可。将你所需要直通的硬盘全部添加进去!然后再开机。

开机之后在群晖的“存储空间管理”中选择“存储池”点击“新增”按照自己的需求配置存储池和存储空间即可,我这里只是演示一下.


2c85378b2bd732610b403443718ad159.gif


1600e48749e37f96935b55e3d69e57dc.gif

到此为止,系统也安装完毕了!

注意不要在系统里面更新系统哦!有可能让你前功尽弃的!

4.2创建windows小机

首先打开WINSCP登陆PVE,然后进入到/var/lib/vz/template/iso目录

将你的windows ISO安装镜像拖进去,即可。你要拖其他linux镜像也可以的。

然后新建虚拟机,在“操作系统”栏选择ISO镜像,然后选择你导入的系统安装镜像即可,其他的和群晖虚拟机创建几乎一样!


175f36d8af8629a98de2d8f5b573cd67.gif

然后选择新创建的虚拟机,选择“控制台”开机,就会开始windows安装流程了,按照提示安装即可,这里不再细说!

虚拟机创建完成之后可以把windows的远程桌面打开,以后直接通过远程桌面即可登陆。

5.后续一些设置简要说明

如果想要远程登陆你的NAS或者windows虚拟机,如果你有公网IP的话,那是最好不过了。可以通过群晖的DDNS或者路由器的DDNS配上端口转发来实现远程登陆,如果你和我一样没有公网IPV4,但是有公网IPV6的话那可以用个支持阿里云的IPV6 DDNS的shell文件来自动更新DDNS。

5.1修改aliddns.sh

如果你有阿里云的域名的话(很多域名相当便宜的),在阿里云申请一个accesskey ID


99ae66f43d31897fe2f2fde663e60d56.png

将你的accesskey ID和Access Key Secret填入到aliddns.sh里面相应的位置,并将自己需要ddns的域名信息写入。


7d01954ae206edf11e7a25971a0e4f67.png

域名需要在阿里云的控制台添加一个AAAA记录。


8850a25691870d8ce4c389d870c7e1b9.png

至于网卡信息,可以在群晖的“控制面板”里面找到“终端机及SNMP”启用SSH功能。

然后通过xshell等类似的超级终端登录到你的群晖(可以在shell界面输入

ssh -p 端口号 用户名 @ IP地址例如 ssh -p 22 admin@192.168.2.2 )

然后再shell里面输入 ip addr

然后查看你的IPV6地址在哪个网卡下面


5f122b6611d14f44fd95e1af0a395343.png

然后将aliddns.sh里面的eth0改成这个网卡的名字即可!

然后将aliddns.sh通过file station 放到你的群晖里面去,然后右键查看它的位置并复制路径。


261d55f01ec2612222d886847654fcf2.png

然后再群晖控制面板里面找到“任务计划”,添加一个任务,10分钟执行一次


8d0f9da0a7d377ddb8a05d3e1e4142d4.gif

然后右键运行一下任务,再去阿里云看看你的IP是否已经更新,如无意外应该已经更新了。

5.2虚拟机访问NAS的共享文件夹

在群晖的控制面板 新增共享文件夹


36675f43ec7d0c15538765264bff1bb2.gif

在虚拟windows小机中安装synology Assistant,选择网络硬盘,按提示输入账号和密码映射磁盘或者目录到系统即可!


fed9a8bbe040dcbba5ba8e64e2c420ed.gif

5.3搭建一个自己的导航页


b84de8834e1b43060166eb2eaa562577.png

如果你再NAS里面搭建的业务多了,难免需要记各种端口号,这个是相当烦的一件事,那么一个属于你自己的导航页就必不可少了!

在群晖套件中心安装web station

在web station 的状态页,安装nginx(或者apache)和PHP7


1113895fdad9b40a0b2109d813b61136.png

设置服务器,并启用个人网站。


49f626b7dc7929cd49744e09e9e47b79.png

通过notepad++或者其他文本编辑软件(sublime text3或者ultraedit)修改导航页“index.php”中的链接、图片和文字描述为你自己的即可,然后保存!


1c68d8c1e03a8a100c5e606a6958cfe3.png

导航页自带了BGM,如果不想要可以把BMG注释掉,想更换就把music文件夹内的音乐换了,再把下面代码框内的音乐名字改成你换好的即可。


fb76b57f2f9351130baa00ab35169acc.png

通过file station 将导航页所有文件传到web目录下(包含以下内容)


c9e5e2c4aea6d9805b722b5bb6262a2a.png

然后在浏览器输入你的IP地址即可访问导航页。


f88560a7587e27db109be1bfc7a4c570.gif

5.4 其他比较好的可装软件

1.PLEX MEDIA SERVER 影视爱好者可以装一个,个人感觉比系统自带的video station好用,毕竟是黑的,不能使用它的在线转码,用这个就没问题了。

2.KodExplorer 可道云,私有云存储&协同办公。

3.baidu cloud 百度网盘下载工具

4.aria2 下载工具

.......

6.后记及部分操作答疑

1.为什么不直接装群晖在物理机上?

1.1因为是黑的,不能升级,如果在物理机上安装群晖,那么虚拟机就要运行在群晖上,群晖一玩完,其他小鸡也访问不了。

1.2群晖装在物理机上,需要DOM盘作为引导,常见的需要有一个U盘引导,虽然也有写到硬盘里面的方法,但是效果不好,,开机慢(至少我的体验是这个)。

1.3群晖运行在虚拟机中,升级和备份都很容易,故障恢复也很简单。

2.为什么虚拟机用proxmox VE不用ESXI

2.1因为esxi的网卡驱动比较难搞。

2.2proxmox VE的性能损失也很小。

3.为什么不直接用windows做文件共享

3.1最开始我用的就是windows,因为我的一些服务软件必须跑在上面,但是这毕竟不是真正的服务器,没有ecc的内存,时间久了用win就感觉很卡。况且群晖的一些服务是真的好用,等我富裕了必须整个白的,高端的。

4.我没有公网IPV4也没有公网IPV6想外部访问咋办?

4.1软件法:向日葵,花生壳,ngrok或者frp,推荐使用两种以上的方法搭配使用!

4.2硬件法:花生棒,IP盒子

5.为什么不将硬盘直通给群晖后再安装DSM?

5.1我这里主要是为了备份方便,我把DSM系统安装到固态硬盘之后,再把机械硬盘直通给群晖,设置好共享目录以及安装好plex等等软件之后关闭群晖,然后在PVE里面把群晖的硬件选项展开,将直通的硬盘分离掉,然后在PVE里面对群晖系统进行备份,备份完成之后再将机械硬盘直通回去,再开机。这样做的好处就是备份起来更加方便。机械硬盘故障之后不用重装DSM。如果将机械硬盘直通给群晖之后再装DSM系统,那么系统会装到每一块硬盘里面。

6.上面用到的这些安装包,系统到哪儿找?

6.1在这里链接: https://pan.baidu.com/s/1e54pu5fVLAwt17RKbAv8gg 提取码: 7e9w

相关资源:Proxmox云桌面解决方案_proxmox云桌面,pve云桌面-教育文档类资源...


公司在软件开发过程中,经常需要在不同的桌面操作系统环境中进行软件的开发和测试。比如软件一个新版本发布后,需要给不同的测试软件去测试在不同桌面操作系统上进行测试。测试人员需要花费不少的时间去安装桌面操作系统,补丁,并安装应用程序的最新版本。不少的时间浪费在了准备搭建上。

应用桌面虚拟化的技术,把应用软件制作在不同的桌面模板中。通过桌面虚拟化平台批量创建不同系统的桌面,供测试人员进行测试。 之前搭建一个测试环境,需要花费1-2个小时,准备桌面操作系统和安装应用软件系统。采用桌面云系统后,软件开发人员将新版本的软件预装在桌面模板中。测试部只需要3-5分钟,即可完成数十个桌面系统的准备,测试人员可以直接投入应用程序的测试工作。

整体方案选择了Proxmox作为虚拟化平台,DoraCloud作为桌面管理平台。使用DoraCloud的免费版即可满足测试平台的需求。


Proxmox virtualization environment,简称PVE,是一个开源免费的基于linux的企业级虚拟化方案,功能不输专业收费的VMware。简单的说,PVE是一个基于Debian的linux系统,内置了一套虚拟机管理工具,并提供了web管理页面,让我们可以非常简单的通过网页管理虚拟机。

DoraCloud是一套多平台、一体化、分布式的桌面虚拟化方案。基于开放架构,支持多种虚拟化平台(Hyper-V,VMware,Proxmox,XenServer),多种桌面协议(RDP,PCoIP,SPICE)。采用All-in-One的设计模式和虚拟设备的部署方式。


基于Proxmox虚拟化系统部署DoraCloud可以很快搭建一套桌面云系统。过程也比较简单。

1、部署Proxmox虚拟化

DoraCloud支持Proxmox 5.x,6.x,7.x。 国内推荐中科大( USTC)的源下载Proxmox的ISO,速度比较快。

https://mirrors.ustc.edu.cn/proxmox/iso/proxmox-ve_5.4-1.iso


下载后,使用Rufus制作一个Proxmox 启动U盘。制作USB时,选择DD模式。


接下来安装Proxmox。


2、部署DoraCloud

DoraCloud可以在线部署,使用如下脚本,即可部署。

部署的要求为:1)PVE服务器可以联网。 2)当前局域网有DHCP服务。 3)PVE服务器有 local-lvm 存储,以及 vmbr0 网桥。 脚本会自动下载DoraCloud管理系统的虚拟机镜像。虚拟机镜像会配置到 local-lvm存储,以及vmbr0网桥。虚拟机镜像会使用 DHCP 服务获得一个IP地址。

cd /var/lib/vz/dump;wget-qO- https://dl.doracloud.cn/dpinstall.pl --referer https://doracloud.cn | perl

下图为脚本执行后的提示,脚本会提示DoraCloud桌面管理系统的IP地址。


 接下来,通过 浏览器访问  https://192.168.3.234 ,输入账号  admin 密码 DoraCloud,即可进入管理后台。


注意:

1)如果Proxmox服务器无法联网,可以离线下载 DoraCloud 镜像,拷贝到 /var/lib/vz/dump目录下,恢复这个镜像。

2)如果网络中没有DHCP,可以进入DoraCloud虚拟机的Linux系统(账号: root  密码: dora@cloud),然后通过 nmtui 命令修改 IP地址。


3、根据向导对DoraCloud进行初始化配置

首先,配置对接的Proxmox虚拟化服务器地址和账号。

然后配置桌面池所需的存储池、网络池。

创建集群 


 配置用户数据库,即可完成DoraCloud初始化配置。

 4、在线下载DoraCloud桌面模板

桌面云系统搭建时,制作桌面模板是一个很费时的事情。涉及到安装Windows、更新、激活、安装半虚拟化驱动、安装桌面代理等事情。 DoraCloud提供了在线模板库的功能。可以在线下载桌面模板。 从DoraCloud的在线模板库,我们可以看到 Windows XP、Windows 7、Windows 10、Ubuntu、Deepin、NoiLinux(信息奥赛指定Linux)等桌面模板。


选择win7x64base 模板下载。大约了20多分钟,完成了下载。速度还不错。


5、创建桌面池、用户

 接下来,创建一个桌面池,桌面池名称: 办公、内存 4G、4核心。 

配置桌面池内创建4个桌面。然后设置桌面池的绑定账号为 administrator  123456 。这样账号是windows7x64模板的Windows 账号。

启用绑定账号后,终端可以识别这个绑定账号,登陆桌面windows。


之后,就等待系统自动创建桌面。

在用户菜单中,批量创建4个用户账号,为用户账号配置桌面池【办公】。这样4个用户都可以使用【办公】桌面池的桌面。



 6、使用账号登录云桌面

 登录DoraCloud桌面云系统有多种方式。

1)使用浏览器登录,会自动下载一个RDP文件,然后通过mstsc远程桌面客户端打开rdp文件。

2)使用DeskpoolClient 程序登录。 DeskpoolClient是DoraCloud云桌面的windows平台的客户端程序。

3)使用将旧电脑安装DoraOS,改造成云终端。然后登录。 有关瘦客户机软件系统DoraOS的安装和使用可以参见有关资料。

4)使用朵拉云的云终端(比如朵拉云DC10、JC35)登录。

我们的应用场景中,测试部员工都配置PC,直接通过方式1登录桌面即可。 对于没有配置PC的员工,可以配置朵拉云云终端,或者在旧电脑上安装 DoraOS,改造成云终端。 


7、切换DoraCloud为免费版 

最后,进入DoraCloud后台,进入【系统】【License管理】【启用免费版License】。



8、总结

利用Proxmox+DoraCloud搭建这个测试平台,比较简单高效。 比如相对于oVirt,OpenStack而言,本文的方案有几个优势:

1)部署更简单。基本不需要Linux和KVM背景,即可完成整套系统搭建。

2)提供了桌面模板。节省模板制作时间。

3)DoraCloud提供了面向用户的桌面服务。使用终端登录的使用体验接近PC。而其他平台提供的是虚拟主机。



作者:朵拉云
链接:https://www.jianshu.com/p/7d31cdf80402
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。