为XenServer挂载存储及创建本地ISO库

栏目: 服务器 · 发布时间: 7年前

  • 在生产环境中使用 XenServer 的过程中,由于不同的需求,可能需要我们管理(添加,删除)额外的存储以及管理(添加、删除)本地的 ISO 库;
  • 在本文中,我将对如何管理额外的存储及本地 ISO 库作出一一的讲解;

额外的存储

添加额外的存储

获取服务器的磁盘信息

$ lsblk

清除磁盘的数据

$ sgdisk --zap-all -- /dev/nvme0n1

划分分区表

$ parted /dev/nvme0n1 -s -- mklabel gpt mkpart Local_Storage_2 ext4 1 -1

格式化分区

$ mkfs.ext4 /dev/nvme0n1p1

获取分区的 UUID

  • 方式一:
$ blkid /dev/nvme0n1p1
  • 方式二:
$ echo "/dev/disk/by-partuuid/$(ll /dev/disk/by-partuuid/ | grep 'nvme0n1p1' | awk '{print $9}')"

添加到 XenServer

  • 根据实际情况,更新 device 的值;
$ xe sr-create type=lvm content-type=user device-config:device=/dev/disk/by-partuuid/f76182d3-1890-4436-bc04-70977be306c5 name-label="Local_Storage_2"

删除额外的存储

获取 SRUUID

$ xe sr-list name-label="Local_Storage_2"

获取对应 PBDUUID

  • 根据实际情况,更新 sr-uuid 的值;
$ xe pbd-list sr-uuid="4c5004ea-8950-0c4f-8da2-9bf52197aadf"

卸载 PBD

  • 根据实际情况,更新 uuid 的值;
$ xe pbd-unplug uuid="43eee046-bc51-3f27-4d70-112b53972710"

删除 SR

  • 根据实际情况,更新 uuid 的值;
$ xe sr-forget uuid="4c5004ea-8950-0c4f-8da2-9bf52197aadf"

本地 ISO

添加本地 ISO

获取服务器上 VGs 的信息

$ vgs

创建本地 ISO

  • 请选择适当的 VG 创建 LV
$ lvcreate -L 200G -n ISO_Storage $(vgs | awk 'NR==2{print $1}') --config global{metadata_read_only=0}

格式化分区

$ mkfs.ext4 /dev/$(vgs | awk 'NR==2{print $1}')/ISO_Storage

获取 LV 的信息

  • 记录指定 LVVG Name
$ lvdisplay /dev/$(vgs | awk 'NR==2{print $1}')/ISO_Storage

获取分区的 UUID

  • 记录指定 LVUUID
$ blkid /dev/$(vgs | awk 'NR==2{print $1}')/ISO_Storage

持久化挂载配置

  • 由于系统重启后并不会自动激活 LV ,故将激活工作定义为一个服务;
$ vi /etc/systemd/system/activate_iso_storage.service
[Unit]
Description=Activate ISO Storage Service
Requires=network-online.target sshd.service
After=network-online.target sshd.service

[Service]
Type=oneshot
ExecStart=/bin/bash /etc/systemd/system/activate_iso_storage.sh
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target
  • 根据实际情况,替换脚本中的 VG_Name 与分区 UUID 的值;
$ vi /etc/systemd/system/activate_iso_storage.sh
#!/bin/bash

vgchange -ay VG_Name --config global{metadata_read_only=0}
mount -t ext4 -o defaults UUID=9e2d1258-f016-43a0-965e-8506875d93f5 /iso
  • 添加为开机自启服务;
$ chmod +x /etc/systemd/system/activate_iso_storage.sh
$ systemctl enable activate_iso_storage.service

挂载分区

  • 根据实际情况,更新分区 UUID 的值;
$ mkdir /iso
$ mount -t ext4 -o defaults UUID=9e2d1258-f016-43a0-965e-8506875d93f5 /iso

添加到 XenServer

$ xe sr-create name-label=ISO_Storage type=iso device-config:location=/iso device-config:legacy_mode=true content-type=iso
$ xe-mount-iso-sr /iso

删除本地 ISO

  • 先将本地 ISO 库中所有的 ISO 镜像都删除掉;

显示 LV 的信息

$ lvdisplay /dev/$(vgs | awk 'NR==2{print $1}')/ISO_Storage

卸载指定设备

$ umount /dev/$(vgs | awk 'NR==2{print $1}')/ISO_Storage

删除挂载配置

$ systemctl disable activate_iso_storage.service
$ rm -f /etc/systemd/system/activate_iso_storage.service
$ rm -f /etc/systemd/system/activate_iso_storage.sh

删除本地 ISO

$ lvremove -y /dev/$(vgs | awk 'NR==2{print $1}')/ISO_Storage --config global{metadata_read_only=0}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Go程序设计语言

Go程序设计语言

艾伦 A. A. 多诺万 / 李道兵、高博、庞向才、金鑫鑫、林齐斌 / 机械工业出版社 / 2017-5 / 79

本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。 本书适合作为计算机相关专业的教材,也可供Go语言爱好者阅读。一起来看看 《Go程序设计语言》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具