存档

2010年8月16日 的存档,文章数:4

请参考:

             aix与solaris中mount一个iso文件的方法

 

Linux系统在使用光盘、软盘或U盘时,必须先执行挂载(mount)命令。挂载命令会将这些存储介质指定成系统中的某个目录,以后直接访问相应目录即可读写存储介质上的数据。
  
  1.挂载光盘
  
  挂载光盘的命令如下:
  
  # mount -t is09660 /dev/cdrom /mnt/cdrom
  
  该命令将光盘挂载到/mnt/cdrom目录,使用“ls /mnt/cdrom”命令即可显示光盘中数据和文件。
  
  卸载光盘的命令如下:
  
  # umount /mnt/cdrom
  
  2.挂载软盘
  
  将软盘挂载到/mnt/floppy目录的命令如下:
  
  # mount /dev/fd0 /mnt/floppy
  
  卸载软盘的命令如下:
  
  #umount /mnt/floppy
  
  3.挂载U盘挂载U盘相对复杂一些。
  
  首先使用“fdisk -l”命令查看外挂闪存的设备号,一般为/dev/sda1。然后用“mkdir /mnt/usb”命令建立一个挂载U盘用的目录。之后使用如下命令挂载FAT格式的U盘:
  
  # mount -t msdos /dev/sda1 /mnt/usb
  
  使用如下命令挂载FAT32格式的U盘:
  
  # mount -t vfat /dev/sda1 /mnt/usb
  
  4.挂载外挂硬盘分区
  
  挂载外挂硬盘分区(FAT32格式)同样需要先用“fdisk -1”查看外挂的硬盘分区设备号,假设为/dev/hda1。建立/mnt/vfat挂载目录后,使用如下命令进行挂载:
  
  # mount -t vfat /dev/hda1 /mnt/vfat
  
  注意,默认情况下Linux只允许root用户执行mount命令。如果想让一般用户也能挂载,并且希望在系统启动时自动挂载光盘或软盘,需要修改/etc/fstab配置文件,加入以下内容:
  
  LABEL=/ / ext3   defaults  11
  /dev/cdrom/mnt/cdrom iSo9660 auto,owner,kudzu,ro,user 00
  /dev/fdo /mnt/floppy auto auto,owner,kudzu,ro,user 00
  
  其中,“user”表示将mount命令赋予一般用户使用。
  
  /etc/fstab文件在Linux的帮助手册中讲得很详细,读者不妨看一看。

光盘的使用方法

  mount命令用于物理设备中的文件系统挂在到linux文件系统的某个目录中,mount命令不使用任何选项和参数时将显示当前linux系统中已经挂载的文件系统信息。

  #ls -l /media/cdrom/(/media/cdrom/是linux系统默认的挂载点,只有当默认挂载点为total 0,时才能进行挂载。)

  #mount -t iso9660 /dev/cdrom /media/cdrom/(光盘挂载)

  #ls /media/cdrom/(读取光盘内容)

  #cp /dev/cdrom backup.iso(制作光盘镜像)

  #umount /media/cdrom/(卸载光盘)

  #eject(光盘驱动托盘弹出)

  #eject -t(收回)

  #mount -o loop -t iso9660 backup.iso /media/cdrom/(光盘镜像的挂载;backup.iso为光盘的镜像文件。)

  #umount /media/cdrom/(镜像的卸载)

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

在虚拟机上redhat 5.4 64bit上面,光驱的设备名为:./dev/hdc

挂载用:

            mkdir -p /mnt/cdrom

            mount /dev/hdc /mnt/cdrom 或者: mount -t iso9660 /dev/hdc /mnt/cdrom

卸载用:

            unmount /mnt/cdrom

前日误删除了C:\Documents and Settings\Administrator\.virtualbox目录,导致virtualbox上配置的redhat64bit虚拟机不能启动了。

试图拷贝一个其它虚拟机的xml文件修改一下,但是不可以。提示物理盘的uuid不匹配。那个虚拟机的xml文件丢失了,那么此虚拟机vdi文件上记录的uuid就无从得知了。

难道此redhat64bit虚拟机就不能用了?文件好几个G呢,删除了又太可惜,重装一遍很麻烦。

最后,在网上找到一个解决的办法:

利用virtualbox自带的命令行工具VBoxManage.exe 对残留的vdi虚拟机文件进行克隆,最后会重新生成一个uuid。

D:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd /?
Oracle VM VirtualBox Command Line Management Interface Version 3.2.6
(C) 2005-2010 Oracle Corporation
All rights reserved.
Usage:
VBoxManage clonehd          <uuid>|<filename> <outputfile>
                            [--format VDI|VMDK|VHD|RAW|<other>]
                            [--variant Standard,Fixed,Split2G,Stream,ESX]
                            [--type normal|writethrough|immutable]
                            [--remember] [--existing]
Syntax error: Mandatory output file parameter missing

 

步骤一:

VBoxManage.exe clonehd D:\virtual-machine\linux5_64bit\linux5_64bit.vdi  D:\virtual-machine\linux5_64bit\linux5.vdi

耐心等待一会之后,会在命令行的下面显示一个重新生成的uuid,此uuid和D:\virtual-machine\linux5_64bit\linux5.vdi中的磁盘物理uuid是一致的。

步骤二:

在VirtualBox.xml文件中有:

<MachineRegistry>
      <MachineEntry uuid="{014d4435-25a9-4ce3-9aa6-ea18cc407698 }" src="Machines\linux5_64bit\linux5.xml "/>
      <MachineEntry uuid="{4d307441-f7a7-4196-8dee-d4d6910b0bae}" src="Machines\VMWIN7\VMWIN7.xml"/>
      <MachineEntry uuid="{8046d767-abf4-4eb5-bb73-451b54fbba38}" src="D:\virtual-machine\redhat64\redhat64.xml"/>
    </MachineRegistry>
对应本机安装的所有的虚拟机,记录各个虚拟机的配置xml文件的位置,以及每个虚拟机对应的机器id(machine uuid)。

步骤三:

找到redhat64bit虚拟机的配置文件Machines\linux5_64bit\linux5.xml,其中

<StorageController name="SATA &#x63A7;&#x5236;&#x5668;" type="AHCI" PortCount="1" useHostIOCache="false" IDE0MasterEmulationPort="0" IDE0SlaveEmulationPort="1" IDE1MasterEmulationPort="2" IDE1SlaveEmulationPort="3">
        <AttachedDevice type="HardDisk" port="0" device="0">
          <Image uuid="{4a0544d6-e496-4b21-af8c-e432410ea0a7 }"/>
        </AttachedDevice>
      </StorageController>
上面的image uuid就是通过VBoxManage.exe clonehd重新生成的硬盘id。

步骤四:

linux5.xml中

<Machine uuid="{014d4435-25a9-4ce3-9aa6-ea18cc407698 }" name="linux5" OSType="RedHat_64" lastStateChange="2010-08-16T10:41:07Z">

014d4435-25a9-4ce3-9aa6-ea18cc407698 要和VirtualBox.xml中的MachineEntry uuid 保持一致。

这样基本上重新打开以下virtualbox虚拟机,就能使用redhat64bit虚拟机了。呵呵。

参考:http://www.modhul.com/2009/06/17/how-to-clone-or-copy-a-virtualbox-virtual-disk/

————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:virtualbox xml hard disk uuid  VBoxManage.exe clonehd
————————————————————————————————-

sql server 2005中增加了动态性能视图,可以查看sys.dm_exec_query_stats获得正在执行的SQL的一些信息。

下面的SQL语句查询当前运行时间最长的10个事务的信息:

SELECT DISTINCT TOP 10
           t.TEXT QueryName,
           s.execution_count AS ExecutionCount,
           s.max_elapsed_time AS MaxElapsedTime,
           ISNULL(s.total_elapsed_time / 1000 / NULLIF(s.execution_count, 0), 0) AS AvgElapsedTime,
           s.creation_time AS LogCreatedOn,
           ISNULL(s.execution_count / 1000 / NULLIF(DATEDIFF(s, s.creation_time, GETDATE()), 0), 0) AS FrequencyPerSec
FROM sys.dm_exec_query_stats s
      CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY s.max_elapsed_time DESC, ExecutionCount DESC
go

第一步: dbcc opentran(dbname )

第二步:从上面的结果中得到spid,执行: dbcc inputbuffer(spid )

终止并回滚长事务 kill spid