KVM创建虚拟机

Hyper-V 虚拟机实现嵌套KVM虚拟化及KVM安装 首先Hyper-V 上安装Centos虚拟机 安装完成后查看是否支持虚拟化 egrep -o 'vmx|svm' /proc/cpuinfo 没有输出说明不支持 下面进行设置,参考Hyper-v 开启嵌套虚拟化的方法 hyber-V 机器开启嵌套虚拟化: 关闭虚拟机,管理员权限打开powershell Get-VM ##列出虚拟机 Get-VMProcessor -VMName KVM主机 | fl ##查看虚拟化选项参数 Set-VMProcessor -ExposeVirt... 阅读详情

KVM虚拟机

简介:

​ Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如[Intel VT](https://baike.baidu.com/item/Intel VT)技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

安装:
[root@192 ~]# yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python -y
[root@192 ~]# systemctl start libvirtd

新添加一个硬盘 且保证空间充足 并且做格式化

[root@192 ~]# mkfs.xfs /dev/sdb1
[root@192 ~]# mount /dev/sdb1  /var/lib/libvirt/images/

将镜像上传到

[root@192 ~]# cd /var/lib/libvirt/images/
[root@192 images]# ls
centos7.0.qcow2  CentOS-7-x86_64-Everything-1804.iso
创建虚拟机:

在桌面操作:

[root@192 ~]# virt-manager

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看是否创建成功

[root@192 ~]# virsh list
 Id    名称                         状态
----------------------------------------------------
 4     centos7.0                      running
[root@192 ~]# virsh shutdown centos7.0
Domain centos7.0 is being shutdown

[root@192 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     centos7.0                      running

Linux上用KVM快速创建虚拟机 我这里创建了一个叫node01的虚拟机,内存分配了1G,可热调整到2G,分配了2核CPU,可热调整到3核,虚拟机的系统模板是centos7.0,以/vdisk/iso/centos79.iso这个系统ISO文件来进行安装,虚拟机文件保存在/vdisk/kvm/node01.qcow2,给虚拟机分配的硬盘是40G,文件保存格式为qcow2,网络是桥接模式,不使用图形模式,安装完自动连接上虚拟机的console。提示安装完成,回车。有vmx说明CPU是Intel的,如果是AMD的CPU,应该是svm。 阅读详情

相关推荐

使用KVM服务创建虚拟机

目录 1.KVM的概念 2.前期准备 3.案例实施 kvm的概念 KVM(Kernel-based Virtual Machine)是一个开源软件,基于内核的虚拟化技术,实际是嵌入系统的一个虚拟化模块,通过优化内核来使用虚拟技术,该内核模块使得Linux变成了一个Hypervisor,虚拟机使用 Linux 自身的调度器进行管理。 KVM 是基于虚拟化扩展(Intel VT或者AMD-V)的X86硬件的开源的Linux原生的全虚拟化解决方案。KVM中,虚拟机被实现为常规的Linux进程,由标准L

m0_64216907的博客 2998

KVM详细介绍及搭建KVM虚拟化平台构建Centos7系统

目录一、KVM简介1.发展历程2.原理简介3.虚拟化类型4.虚拟化技术的优劣5.KVM实际应用二、KVM 运行时的三种模式三、kvm部署过程1.安装KVM前的环境部署2、centos7系统开局优化和KVM环境准备3.安装KVM和网络配置4.3、设置KVM网络5.创建kvm存储 一、KVM简介 1.发展历程 在我们介绍KVM之前,首先必须要认识什么是虚拟化,KMV就是在虚拟化不断发展和优化的过程中而逐渐成熟的一个技术。 根据统计,大部分企业的服务器和数据中心能效实际上很低,日常的服务器使用率甚至不足10%,其

chenchen的博客 5025

KVM虚拟化平台安装及创建虚拟机

KVM官网KVM (Kernel-based Virtual Machine) 是一种开源的虚拟化技术,它允许在同一台物理主机上运行多个虚拟机。KVM 是由Linux内核提供的模块化功能,通过将物理主机划分为多个虚拟机,并且为每个虚拟机分配独立的资源,实现了硬件资源的共享和管理。KVM 基于处理器的虚拟化技术(Intel VT 或者 AMD-V),可以直接利用处理器的虚拟化扩展指令集来提高虚拟机的性能。

秦子腾 4533

KVM虚拟化学习总结

KVM虚拟化

DM的个人练习 1632

使用KVM创建虚拟机

使用KVM创建虚拟机

steptodream的专栏 3572

Ubuntu20.4系统下安装kvm并创建虚拟机

Ubuntu20.4系统下安装kvm并创建虚拟机

酷酷的馫博客 1万+

KVM虚拟机概述

虚拟化概述 虚拟化主要产商及产品 系列                            PC/服务器版代表 VMware                     VMware Workstation、vSphere Microsoft                    VirtualPC、Hyper-V RedHat                      KVM、RHEV Cit...

weixin_42738305的博客 3242

Shopee App加密算法逆向实战:从抓包到libshpssdk.so的深度解析

本文详细解析了Shopee App加密算法的逆向过程,从网络抓包发现加密参数入手,通过Frida动态Hook定位到Java层关键方法,并深入追踪至Native层的libshpssdk.so核心函数。文章结合实战演示了如何利用Unidbg模拟执行环境进行算法分析与验证,并探讨了核心参数生成逻辑及风控规避要点,为移动安全与逆向工程研究提供了完整的技术路径。

weixin_28347369的博客 527

什么是守护进程守护进程

今天学到多任务一章内容。下面是关于守护进程的笔记,是对网上搜索结果进行的总结:     守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,程序的名称通常以字母“d”结尾。守护进程是生存期长的 一种进程。它们不接受电脑用户的直接操控。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引 导装入时启动(进程的

g_grp的博客 1660

ANSYS APDL学习(6):ANSYS APDL部分命令流介绍

介绍APDL 部分命令流

娱乐至上的博客 1万+

论文阅读:Visual Relationship Detection with Language Priors

Visual Relationship Detection with Language Priors(ECCV2016) 文章   尽管大多数的relationship并不常见,但是它们的object和predicate却更频繁地独立出现。paper用这个insight分别独立训练训练object和predicate的模型,然后再进行组合来预测relationship。Visual relatio...

Kivee的博客 2877

KVM详解(三)——KVM创建虚拟机

今天继续给大家介绍Linux运维相关知识,本文主要内容是在KVM上创建虚拟机。 一、安装准备 二、虚拟机创建 三、虚拟机安装展示

永远是少年 1万+

离线反激转换器反馈环路设计:从理论到实践的Type II补偿器详解

在开关电源设计中,反馈环路稳定性是决定电源性能与可靠性的核心。其本质是通过补偿网络对功率级的小信号特性进行校正,以构建一个具有足够相位裕度和增益裕度的闭环系统。反激转换器作为一种广泛应用的隔离拓扑,其功率级在连续导通模式(CCM)和非连续导通模式(DCM)下呈现不同的零极点特性,这直接决定了补偿器的选型。Type II补偿器因其传递函数中固有的积分环节、低频零点与高频极点,恰好能与反激功率级的1P2Z(一个极点、两个零点)特性形成互补,有效塑造理想的回路增益曲线,实现快速稳定的动态响应。本文聚焦于采用TL4

weixin_30162121的博客 501

KVM虚拟机创建虚拟机

KVM虚拟化 我们这边正在使用的虚拟机技术(VMware)其实只是虚拟技术的其中一种而已,事实上,现实接触到的虚拟机会有很多,所以需要熟知一些市场上主流的虚拟软件,比如,KVM就是其中一种。 使用KVM可以在虚拟机中再创建虚拟机,类似套娃,但是作用很大,比如,之前有说过的服务器群集,最简单的材料都需要四台服务器(一主二从一调度),如果使用KVM技术,那么意味着一台服务器就可以制作一个群集。 当然,此消耗的内存占用比也是很高的,但同时也节省了因搭建群集而需要购买服务器的成本。 KVM准备步骤: 1)为方便操作

weixin_54165399的博客 4399

计算机国际会议中的proceedings、conference、paper、workshop、demo:如何区分与选择?

本文详细解析了计算机国际会议中的核心概念:Conference(会议)是学术交流的主舞台,Paper(论文)是研究成果的书面呈现,被接收后收录于Proceedings(会议论文集)。Workshop(研讨会)聚焦前沿细分领域,Demo(演示)则侧重系统与工具的可交互展示。文章为研究者根据自身阶段与工作类型,如何区分与选择投稿目标提供了实用指南。

weixin_29269441的博客 562

【WRF数据准备】基于Python更新geo_em.d0.nc文件中Albedo/LAI等静态地理数据

基于Python更新geo_em.d0.nc文件中Albedo/LAI等静态地理数据

WW、forever的博客 591

KVM 应用-创建虚拟机

virt-install是一个命令行工具,用于使用“libvirt”创建新的KVM、Xen或Linux容器guest。KVM虚拟化部署完成了,接下来我们要做的就是创建一个KVM虚拟机,如何创建呢?virt-install命令是用来让用户可以通过shell命令行创建KVM虚拟机。a、打开虚拟机管理工具(virt-manager),新建一个虚拟机。1.1、通过virt-manager虚拟机管理工具创建。KVM虚拟机目录: /var/lib/libvirt/1.3、使用virt-install创建一个虚拟机。

小菜鸟的博客 4041

100个Python实战项目(七)实现摩斯密码翻译器

作者主页:海拥 作者简介:优快云全栈领域优质创作者、HDZ核心组成员、蝉联C站周榜前十 粉丝福利:往期获奖记录 每周送6~9本书,不定期送各种小礼品(搪瓷杯、抱枕、鼠标垫、马克杯等) 摩斯密码是一种将文本信息作为一系列通断的音调、灯光或咔嗒声传输的方法,无需特殊设备,熟记的小伙伴即可直接翻译。它以电报发明者Samuel F. B. Morse的名字命名。 算法 算法非常简单。英语中的每个字符都被一系列“点”和“破折号”代替,或者有时只是单数的“点”或“

努力是为了站在万人之中,成为别人的光 1万+

kvm虚拟化快速创建新的虚拟机

环境描述:centos7的kvm虚拟化。在自己服务器上搭建kvm虚拟化后,通过原始的镜像文件快速创建新的虚拟机。KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,它利用硬件虚拟化扩展(如Intel VT-x、AMD-V等)来提供高效的虚拟化支持。KVM使得用户可以将物理服务器的资源(如CPU、内存、存储等)分割成多个虚拟机,每个虚拟机都像独立的物理机器一样运行操作系统和应用程序。

m0_74020575的博客 1795

基于STM32的智能婴儿床设计(蓝牙通信+摄像头监控)_315

本项目设计并实现了一款基于STM32微控制器的智能婴儿床系统,通过多种传感器和智能控制模块为家长提供更便捷和高效的婴儿照护解决方案。系统包括婴儿哭泣检测、湿度监测、空气质量检测、温度监控等多项功能,并通过蓝牙与手机APP进行数据传输和远程控制。婴儿床内置摇摇床和安抚音乐播放功能,能够在婴儿哭泣时自动启动摇摇床并播放安抚音乐。此外,系统还支持摄像头远程监控,让家长实时查看婴儿的状态。整个系统采用STM32F103RCT6作为核心控制单元,结合声音传感器、湿度传感器、MQ135空气质量传感器。

864

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

创建KVM虚拟机

在Centos虚拟机中安装一个可用的Centos虚拟机。

qq_44143638的博客 4568

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

KVM创建ubuntu虚拟机

在安装 KVM 之前,需要确认你的 CPU 是否支持硬件虚拟化技术,即 Intel 的 VT-x 或 AMD 的 AMD-V。如果命令返回的数字大于 0,就说明支持。如果返回 0,则不支持。成功后可以使用vnc客户端进行查看,比如 TigerVNC Viewer 或 RealVNC Viewer。打开 VNC Viewer,输入 你的Ubuntu服务器IP:5900 即可。需要下载好所需的系统iso镜像,我这里使用的是ubuntu22.04版本。我是本地下载iso镜像,下载好后用本地终端传输给服务器。

Creampuffs_的博客 585

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

KVM怎么样创建虚拟机

1.如果连不了网,执行以下命令,确保没有vbr [student@room9pc01 ~]$ virsh 欢迎使用 virsh,虚拟化的交互式终端。 输入:'help' 来获得命令的帮助信息 'quit' 退出 virsh # net-destroy vbr 网络 vbr 被删除 virsh # exit 2.创建一台虚拟机 [student@room9pc01 ~...

朱海燕的博客日记 557

KVM创建的虚拟机创建快照、查看以及恢复

KVM虚拟机要使用快照功能,磁盘格式必须为qcw2 如果不满足qcw2,可以参考下面的链接进行修改:https://www.jianshu.com/p/f6cc295a2108 创建快照方法: 创建快照 要先关闭虚拟机,比如为虚拟机test1创建快照,快照名字为test_snapshot1 关闭虚拟机的方式: 1)virt-manager进入到界面中,右键关闭 2)virsh shutdown 虚拟机主机名 virsh list -all //列出所有虚拟机 virsh shutdown te.

wang的博客 6644

KVM虚拟化详解以及如何创建KVM虚拟机

一、何为虚拟化 虚拟化是云计算的基础,是通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机的工作效率。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的CPU、内存、IO硬件资源,但逻辑上虚拟机之间是相互隔离的。 二、虚拟化类型 1、全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用 使用的方法:使用hypervisor(VMM)软

zjytobe的博客 9670
上一篇: 系统调优2
下一篇: 秒杀架构思路
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峰宝宝守护。

乐已忘忧,心旷神愉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值