在qemu kvm虚拟机中挂载硬盘分区的方法总结

KVM虚拟机直接挂载物理磁盘方法 点击 esc 输入 :wq 保存退出即可; 阅读详情
AI摘要

本文介绍如何通过QEMU对虚拟机磁盘进行扩展,包括直接扩容镜像、挂载本地分区或虚拟磁盘镜像,以及使用iSCSI远程挂载硬盘等多种方法。

转载注明:http://blog.youkuaiyun.com/hubbybob1/article/details/76889846
通过qemu创建的虚拟机之后想对虚拟机进行扩充或者添加几个新的硬盘,因此在此总结一下我尝试的方法,

方法一,通过对qemu的系统镜像直接扩充容量

qemu-img resize 你的镜像.img +10G

然后通过qemu-system-x86_64命令启动你的虚拟机(或者virsh),到磁盘管理下面,就可以看到有一个为初始化的磁盘,就可以分配给c盘。
这个方法就是给原有的img添加容量,在使用虚拟机的过程中如果镜像出问题,那么数据也会跟着丢失(如果没有快照的话)。因此下面几个方法,就脱离的系统镜像,直接挂载分区或者卷。

方法二、新建镜像或者本地分区直接加载

这个方法是两种操作,一是利用qemu-img创建一个磁盘镜像,挂载到虚拟机里面去,二是直接将本地的真实分区挂载进去
A。挂载真实分区,在qemu-sys tem-x86_64启动虚拟机的命令里面直接添加参数

-hdb /dev/sda4  //不能使用hda,这个已经被虚拟机的系统盘使用,目前可以使用的是好的hdc hdd,在虚拟机内对应的就是D、E、F盘

启动虚拟机后,如果是第一次连接这个分区,则需要右击“我的电脑”-> “管理” -> “磁盘管理”,找到新建的磁盘,右击格式化,如下所示这里写图片描述
注意要使用NTFS格式记性格式化,这样windows和linux是兼容的,即同一个磁盘无论是在linux还是windows下操作的东西都能看的到
这样两边都可以使用这块分区了。也可以通过ssh远程挂载如下:

这里写代码片

这种方法的缺点就是这块分区不能移动,因为是真实的分区,下面的方法就可以将创建的虚拟磁盘镜像随便移动到其他pc

B。创建虚拟磁盘镜像,这种方法类似上面的方法,就是创建一个img文件,方便移动。

qemu-img create -f qcow2 disk.img 10G //创建一个10G的虚拟磁盘镜像,只有真正用完10G,这个镜像的大小彩绘师10G
//或者
dd if=/dev/zero of=test.img bs=1M count 128
//bs=bytes #同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。

在虚拟机启动命令里面添加参数:

-hdc /你的路径/disk.img // hdb 已经被上面的方法用过了,因此此处就使用hdc

启动虚拟机加载硬盘的过程和上面的方法一样,请参考A
导致此虚拟机里面硬盘是整理好了,那么需要吧这个img文件挂载到本地才能在宿主机上使用,把创建好的disk.img文件进行本挂载和格式化

mkfs.ext3 -q disk.img //格式化为ext3的格式,不能是NTFS,会报错
mount -o loop disk.img /mnt  //这样就把disk.img挂载到mnt下面了

方法可以查看网址:http://blog.youkuaiyun.com/wh8_2011/article/details/51543755

方法三,使用iSCSI来挂载远程硬盘

使用iSCSI来挂载分区有很多方法,网上也很多,在这里我使用的是iscsitarget服务和iscsi initiator客户端

  1. 首先就是服务器端的安装与配置,.搭建iscsitarget服务 (target)

a.安装iscsitarget

sudo apt-get install iscsitarget

b.启动服务

vim /etc/default/iscsitarget //编辑配置文件
ISCSITARGET_ENABLE=true //默认是false,修改为使能
//重新启动iscsitarget 服务
service iscsitarget restart
//查看状态
service iscsitarget status

当执行完上面两个命令后就会看到如下状态,则是运行成功:
这里写图片描述

c.创建分卷,用于共享磁盘

mkdir -p /media/volume0 //创建分卷位置
dd if=/dev/zero of=/media/volume0/vmlun0.bin count=0 obs=1 seek=1G
//dd命令需要学习一下,不然不知道这是在干嘛
if=file 输入文件名,缺省为标准输入
of=file 输出文件名,缺省为标准输出
obs=bytes 一次写 bytes 个字节(即一个块大小为 bytes 个字节)
seek=blocks 从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)也就是你开辟的空间大小,在虚拟机里面会显示的大小,此处开辟1G
count=blocks 仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数
dd命令有很多内容,也很有用,可以系统的学习一下 

d.创建好卷后,开始配置target

添加LUN配置到配置文件:
关于这个文件的配置说明都在:http://manpages.ubuntu.com/manpages/xenial/en/man5/ietd.conf.5.html

vim /etc/iet/ietd.conf //打开编辑配置文件
//找到Target这一行
Target iqn.2017-05.local.mynet:storage.sys0
//iqn(iSCSI Qualified Name)指定名字,而且iqn必须在全局是唯一的
//格式 iqn.<日期>.<域名要颠倒写>:<设备字符串> 域名内可以包含点,设备自负也可以包括点
//例如上面时间是2017-05 , 域名是mynet.local ,设备名是storage.sys0
//找到LUN 0行
Lun 0 Path=/media/volume0/vmlun0.bin,Type=fileio,ScsiId=lun0,ScsiSN=lun0
//如果是有一个分区如/dev/sdc也可以直接取消掉本文件中该行的注释
//Type为接口类型,主要是两种fileio和blockio,可以查看上面的网站
//然后重启服务。
sudo service iscsitarget restart

到此服务器端酒配置好了,下面配置客户端

2.iscsi initiator客户端(也就是虚拟机里面),这个配置有两种不同的平台,linux和windows
A。linux(Ubuntu)下的配置,不一定是虚拟机,在远程的其他机器上也能使用
安装安装open-scsi

sudo  apt-get install open-iscsi open-iscsi-utils

查询接口,发现iscsi target

sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.9

就会找到如下图所示目标ip上的iscsi target:
这里写图片描述

显示上面的信息后就可以使用这个Target了默认端口为3260

sudo iscsiadm -m node --targetname iqn.2017-05.local.mynet:storage.sys0 -p 192.168.1.9 --login
//其实 -p  192.168.1.9可以去掉
//删除这个分区
sudo iscsiadm -m node --targetname iqn.2017-05.local.mynet:storage.sys0 -p 192.168.1.9 -u

如果想要开机西气东输加载,则需要一下命令:

iscsiadm -m node -T iqn.* -p 192.168.1.9 --op update -n node.startup -v automatic

执行完上面的加载分区的操作后就会在你的ubuntu右边栏出现一个硬盘,就可以在硬盘里面操作了。
B。在windows下使用这个target,其操作如下
打开iSCSI发起程序
这里写图片描述
打开之后以此点击 发现->发现门户->输入ip地址和端口号
这里写图片描述
然后选择 目标选项卡,选中目标,然后点击连接
这里写图片描述
出现对话框点击确定,上图的“不活动”就会变成“已链接”
这里写图片描述
如果是第一次连接这个分区,则需要右击“我的电脑”-> “管理” -> “磁盘管理”,找到新建的磁盘,右击格式化,如下所示
这里写图片描述
需要注意的是格式化的格式一定要NTFS,不然在linux就没办法看到windows下操作读写的东西。这样每次开启windows的时候这个分区就会自动加载。

Linux硬盘分区 与kvm虚拟机创建 1.分区表示与文件系统 问题 1)请用3分钟默记Linux中的硬盘和分区表示方法 2)请描述下列设备具体的含义:/dev/sdc5、/dev/hda1、/dev/sdd 3)Linux中默认使用了哪几种文件系统类型? 方案 在安装操作系统前,要对Linux操作系统的分区方式和文件系统有一定的了解。需注意的是我们默认采用的是MBR分区方案,只能有1~4个主分区。想要有更多的分区,必须创建扩展分区... 阅读详情

相关推荐

使用qemu-nbd挂载qcow2/raw磁盘文件

之前我一直是将其挂载到一个现成的linux系统虚拟机上进行操作,有没有直接在宿主机上操作的方法呢?此时qcow2文件已经成为了一个标准的块设备/dev/nbd0,可以通过fdisk -l /dev/nbd0来列出其信息。最近发现qemu提供了一个很有用的工具qemu-nbd,可以将包括qcow2格式及raw格式的文件进行直接挂载。此时可以观察到,/dev/下生成了十几个nbd开头的设备,这些都是可以用于挂载块设备文件的挂载点。下面进行一下演示,创建一个1GB的qcow2文件,挂载到块设备,分区并格式化。

qq_38350702的博客 2104

给qemu虚拟机加硬盘,分区,自动挂在

给虚拟机多加一个硬盘: /home/chenglin/qemu/qemu_debug_run/qemu-2.4.0/ppc64-softmmu/qemu-system-ppc64 --enable-kvm -m 50G  -hda /home/chenglin/qemu/qemu_debug_kernel/qemu-dir/ubuntu-ppc64le.img -hdb /home/chengl

carltraveler的专栏 8347

KVM虚拟机直接挂载物理硬盘分区:原理、配置与避坑指南

块设备是虚拟化技术中承载数据的核心载体。KVM默认以qcow2镜像文件模拟磁盘,通过文件系统中间层完成读写转换,而直接挂载物理分区则让虚拟机绕过镜像封装,经由virtio总线直达底层块设备。这种模式显著缩短IO路径,降低延迟与CPU开销,在高性能数据库、系统救援和数据复用等场景中价值明显。与此同时,直挂也带来权限管理、SELinux策略、设备命名漂移等系统工程问题。掌握物理分区直挂的原理与配置方法,能够在虚拟化架构中灵活平衡性能与可维护性。本文以libvirt XML配置为核心,梳理完整实操流程与常见坑点。

weixin_29243279的博客 236

KVM虚拟机直接挂栽物理硬盘分区的方法

KVM虚拟机,一般扩充硬盘的方法是通过virt-manager,添加新的虚拟硬盘。那么有没有直接挂栽host宿主机上的物理硬盘分区的方法呢? 这里做了一些实验。 1.首先打开现有虚拟机的配置文档,位置在/etc/libvirt/qemu/vm-names.xml 可以看到,虚拟机自带的 两个disk 都是 type='file', device 分别是 disk、cdrom 。 我们要做的就是添加一个disk ,type=‘block’ 块设备。 这个要在 virsh 环境下编辑才可以 v...

lggirls的博客 1万+

深入解析qemu-nbd挂载qcow2镜像的LVM与非LVM文件系统实践

本文深入解析了使用qemu-nbd工具挂载qcow2虚拟机镜像的详细步骤,重点对比了LVM与非LVM文件系统的不同操作方法。文章提供了从环境准备、标准挂载流程到LVM激活、Windows NTFS镜像处理及常见错误排查的完整实践指南,旨在帮助运维和虚拟化用户高效、安全地从虚拟机镜像中提取或恢复数据。

weixin_29233857的博客 359

【VeriStand】从零构建HIL测试平台:核心概念、硬件选型与实战配置指南

本文详细介绍了如何从零构建HIL测试平台,涵盖核心概念、硬件选型与实战配置指南。重点解析了VeriStand生态系统的优势,包括开箱即用特性、与LabVIEW的黄金搭档配合及Python支持。通过实战案例和硬件选型建议,帮助工程师高效搭建可靠的HIL测试平台,提升测试效率与安全性。

weixin_29250573的博客 329

linux qemu挂载外置端口,在qemu kvm虚拟机中挂载硬盘分区的方法总结

转载注明:http://www.voidcn.com/article/p-yjwzmjql-bpz.html通过qemu创建的虚拟机之后想对虚拟机进行扩充或者添加几个新的硬盘,因此在此总结一下我尝试的方法,方法一,通过对qemu的系统镜像直接扩充容量qemu-img resize 你的镜像.img +10G然后通过qemu-system-x86_64命令启动你的虚拟机(或者virsh),到磁盘管理...

weixin_36436373的博客 1044

Unity卡牌游戏UI框架:数据驱动与模块化设计实践

在Unity游戏开发中,UI系统是连接玩家与游戏逻辑的关键桥梁,其核心在于实现数据与表现的高效同步。数据驱动设计通过分离数据模型、逻辑状态与视图表现,利用观察者模式自动响应状态变化,确保了代码的清晰与可维护性。这种架构显著提升了开发效率,尤其在需要复杂状态管理和实时反馈的交互场景中,如卡牌游戏的拖拽、布局与动画系统。基于模块化思想,开发者可以将卡牌视图、布局管理、区域控制等组件像积木一样组合,快速构建出动态的手牌弧形布局、战场区域管理等特色功能。通过集成对象池、图集优化等性能方案,还能有效管理绘制调用与网格

weixin_34262482的博客 453

KVM虚拟机(Centos7)

KVM虚拟机一、KVM概述二、虚拟机开启条件三、准备工作完成后的步骤四、KVM虚拟机管理 一、KVM概述 简介: KVM是Kernel Virtual Machine的简写,目前Redhat只支持在64位的Rhel5.4以上的系统运行,同时硬件需要支持VT技术。KVM的前身是QEMU,在2008年被Redhat公司收购并且获得了一项hypervisor技术,不过redhat的KVM被认为将成为未来linux hypervisor的主流,准确的来说KVM不仅仅是linux内核的一个模块。管理和创建完成的KV

礁之的博客 5153

解决usbisp不识别无法烧录Atmega328P,Arduino不识别问题

如果使用Arduino IDE里面的烧录,可能会遇到一个问题,就是不识别国产这种廉价的USBISP 点击烧录引导程序,会遭遇到找不到USB设备的问题,选哪个都会提示找不到,比如选择USBasp could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp' 因此,我们需要使用到progisp这一个软件的1.72版本 选择好芯片的型号后,调用编译好的HEX文...

arenascat的博客 7441

基于STM32L4XX、HAL库的AD7124-8BCPZ模数转换器ADC驱动程序设计

/ 公式: Voltage = (adc_value / (2^23 - 1)) * Vref。// 模式控制位[7:5]=000 (连续转换模式)// 3.2 配置通道0,使其使用AIN0(+)和AIN1(-),并关联到配置0和滤波器0。= 0x14) { // AD7124-8的ID是0x14。// 双极性操作,缓冲AINP/AINN。

zhusl6688的博客 377

kvm中虚拟机的硬盘扩容

kvm中虚拟机的硬盘扩容   KVM中linux虚拟机的硬盘添加方法 最近虚拟机中运行的东西比较多,很多。而刚启动的时候虚拟机分配的磁盘比较少,随着日志还有平时的上传文件的积累,磁盘空间报警了。网上查了下资料,自己也做了下实验。总结下给虚拟机增加磁盘的一些硬盘空间的方法。    www.2cto.com   对于sda/vda等格式的硬盘 环境:centos 6.1 虚拟机的属性:d

Search_Truth的专栏 749

基于MATLAB的脑功能网络工具箱:BCT与FCLab

脑功能网络分析是神经科学领域的一个重要研究方向,它通过分析大脑中神经元之间的连接模式和信息传递方式,揭示脑网络的结构和功能。在这个领域,MATLAB是一个广泛使用的工具,提供了丰富的函数和工具箱来进行脑功能网络的分析和可视化。这些工具箱提供了丰富的函数和工具,使得脑功能网络的计算和分析变得更加简单和高效。在上述示例代码中,我们首先导入BCT工具箱,并构建一个邻接矩阵来表示脑网络的连接关系。在上述示例代码中,我们首先导入FCLab工具箱,并导入脑功能数据。函数对数据进行预处理,如去除噪声、降采样等操作。

web_bug407的博客 2611

virsh命令 查看虚拟机镜像_KVM虚拟机virsh管理常用命令

文章目录[隐藏]管理kvm虚拟机给虚拟机添加硬盘改变虚拟机的参数删除虚拟机管理kvm虚拟机常用的虚拟机管理命令列出所有的虚拟机1 virsh list --all显示虚拟机信息1 virsh dominfo kvm-1显示虚拟机内存和cpu的使用情况1 yum install virt-top -y 2 virt-top显示虚拟机分区信息1 virt-df kvm-1关闭虚拟机(shu...

weixin_32758601的博客 1407

嵌入式Linux&Android开发-TP调试

目录 一、修改DTS,添加新的I2C设备 二、修改Makefile,Kconfig 三、tp调试时的问题排查 一、修改DTS,添加新的I2C设备 &i2c4 { status = "okay"; clock-frequency = <400000>; gslX680@40 { compatible = "gslX680"; reg = <0x40>; touch-gpio = <&gp

嵌入式成长手册 574

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集,数据显示及matlab操作界面。

qq_41958946的博客 7355

KVM模块新建Windows11虚拟机方法

本文介绍了在Debian 12系统上使用KVM安装Windows 11的解决方案。针对Windows 11强制要求的TPM 2.0和Secure Boot特性,作者尝试了多种方法后最终通过两种方式实现:1) 安装swtpm-tools后添加TPM设备(型号TIS 2.0),同时使用virtio驱动(需提前下载virtio-win-0.1.271.iso等文件),安装时注意勾选"安装前修改配置"并正确设置网卡/显卡为Virtio;2) 更简单的方法是直接添加TPM设备并设置为"直

WHMRLIU的博客 1122

基于STM32设计的水质检测系统_333

水质安全对生态环境、农业生产、工业制造以及人类健康至关重要。针对传统水质检测方式检测周期长、成本高、实时性差的问题,本项目设计并实现了一种基于STM32的水质检测系统。系统采用STM32F103RCT6作为主控芯片,集成水温、pH值、电导率和浊度等传感器,能够实时采集水质数据,并通过OLED显示屏进行本地显示。同时,利用Air724UG 4G模块通过MQTT协议将数据上传至华为云IoT平台,实现远程监测。用户可通过Qt5开发的Android手机APP和Windows上位机查看水质数据,并接收超限报警提示。此

715

如何用命令的方式在KVM上创建虚拟机

在上一篇文章中我们在图形化界面进行了虚拟机的搭建,今天这篇文章主要是采用命令的方式进行搭建,环境和上篇文章的相同,这里不加以叙述,直接开始安装 创建文件夹 mkdir /data 将一块硬盘进行分区 fdisk /dev/sdc 将硬盘格式化 mkfs.xfs /dev/sdc 将硬盘挂载在刚刚创建的文件夹下 mount /dev/sdc /data 创建虚拟机磁盘 qemu-img create...

m0_37997046的博客 7622

深度学习工具包 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")

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

KVM虚拟化部署全攻略

KVM虚拟化技术摘要 KVM是基于Linux内核的开源虚拟化技术,通过内核模块kvm.ko实现CPU和内存虚拟化,配合Qemu完成I/O虚拟化。Libvirt作为管理工具提供KVM虚拟机生命周期管理功能。部署过程包括:确认CPU虚拟化支持、安装KVM相关软件包、配置网桥网络、设置存储空间及安装Web管理界面WebVirtMgr。KVM结合了完全虚拟化的高性能和半虚拟化的灵活性,是企业级虚拟化解决方案的理想选择,可实现硬件资源的高效利用和成本节约。

2301_81276162的博客 1360

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

KVM 操作虚拟机常用命令

管理kvm虚拟机 常用的虚拟机管理命令列出所有的虚拟机 virsh list --all 显示虚拟机信息 virsh dominfo kvm-1 显示虚拟机内存和cpu的使用情况 yum install virt-top -y virt-top 显示虚拟机分区信息 virt-df kvm-1 关闭虚拟机(shutodwn) virsh shutdown kvm-1 启动虚拟机 virsh sta

静静是我女朋友 4万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

部署KVM虚拟化平台

KVM虚拟化架构 KVM模块直接整合在Linux内核中 KVM组成 1.KVM Driver ·虚拟机创建 ·虚拟机内存分配 ·虚拟CPU寄存器读写 ·虚拟CPU运行 2.QEMU (经过简化与修改) ·模拟PC硬件的用户控件组件 ·提供I/O设备模型及访问外设的途径 KVM虚拟化三种模式 ·客户模式 ·用户模式(工具层) ·内核模式 KVM工作原理 KVM基本功能管理 查看命令帮...

ZT云的博客 236

[KVM] 从kickstart文件创建虚拟机

从kickstart文件创建KVM 连接VM的串口等

皮卡丘在充电 2439

linux kvm 添加硬盘,KVM中linux虚拟机的硬盘添加方法

最近虚拟机中运行的东西比较多,很多。而刚启动的时候虚拟机分配的磁盘比较少,随着日志还有平时的上传文件的积累,磁盘空间报警了。网上查了下资料,自己也做了下实验。总结下给虚拟机增加磁盘的一些硬盘空间的方法。对于sda/vda等格式的硬盘环境:centos 6.1虚拟机的属性:domainnametestDiskpath /var/lib/libvirt/images/test.img硬盘...

weixin_39970855的博客 445

KVM虚拟机直挂物理硬盘分区:从virtio-blk配置到权限与迁移实战

虚拟化存储接入方式中,文件镜像与块设备直通是两条截然不同的技术路线。qcow2镜像基于文件系统层,具备快照、克隆等高级功能,却也带来额外的IO转换开销;而virtio-blk直挂物理分区则通过type='block'设备与io='native'原生AIO,让QEMU绕过页缓存直接操作底层硬件,显著缩短IO路径、降低延迟并提升吞吐。这项技术最核心的价值在于:无需复制数据即可将宿主机上已有的物理磁盘、LVM逻辑卷或RAID阵列直接交付给虚拟机使用,特别适合数据恢复、应急取证、大容量数据盘复用以及数据库等性能敏感

weixin_34234829的博客 213

给KVM添加新的磁盘

给KVM添加新的磁盘 两种方案 1 添加虚拟磁盘文件 2 添加物理磁盘 硬件配置: 物理主机(宿主机):foundation 物理主机磁盘情况: 我们有三块物理磁盘,sda、sdb和sdc(这里都是SATA盘)。在给KVM添加物理硬盘前我们需要提前给物理硬盘分区。 KVM虚拟机:server 当前KVM虚拟机磁盘情况 需求: 1 /var/lib/...

bangnvecao9075的博客 720
上一篇: VGA GPU passthrough 虚拟桌面pci穿透--Ubuntu与centos的内核升级步骤
下一篇: VGA GPU passthrough qemu虚拟桌面pci穿透
葫芦娃二娃
博客等级 码龄15年 1850粉丝 69原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值