aix上面如何批量创建所需要的lv?

比如我有一个文件file.txt。

cat  file.txt

testlv01
testlv02
userlv01
costlv02
costlv03
如何用脚本一次性创建这个file.txt里面的所有lv。

!/bin/sh

a=$(cat /test.txt)
for b in $a
do

mklv -t raw -y $a  Testvg 4G

done
用这个创建报错。0516-306 getlvodm: Unable to find volume group testlv02 in the Device
        Configuration Database.
0516-822 mklv: Unable to create logical volume.
0516-306 getlvodm: Unable to find volume group testlv02 in the Device
        Configuration Database.
0516-822 mklv: Unable to create logical volume.
0516-306 getlvodm: Unable to find volume group testlv02 in the Device
        Configuration Database.
……这里省略多个类似报错
0516-822 mklv: Unable to create logical volume.
请问下要如何调整下脚本?

参与28

4同行回答

myciciymyciciyIT顾问某金融科技公司
完全不用写脚本啊,多复制几行粘贴就行了显示全部

完全不用写脚本啊,多复制几行粘贴就行了

收起
银行 · 2023-05-18
  • 你这方法也可以。已经搞定了。就是有点报错,但是不影响创建。就几个打话确实没关系。其实也可以同感notepad--这种来弄。但是想着就在aix上面弄下算了。就想个小脚本弄下
    2023-05-19
zwz99999zwz99999系统工程师dcits
你是创建lv吧,lun是存储创建映射给aix的,lv可以用命令批量创建显示全部

你是创建lv吧,lun是存储创建映射给aix的,lv可以用命令批量创建

收起
系统集成 · 2023-05-15
crazy_cccrazy_cc系统运维工程师As
明显你这个循环就没带进去啊! 你把$a echo 下看看是啥...你可以改为$b.显示全部

明显你这个循环就没带进去啊! 你把$a echo 下看看是啥...

你可以改为$b.

收起
IT分销/经销 · 2023-05-15
  • 还是会报错。但是可以创建lv。感觉语句哪里有点问题。报错如下: 0516-360 getlvname: The device name is already used; choose a different name. 0516-822 mklv: Unable to create logical volume. 0516-358 getlvname: Illegal name; the prefix of the name is reserved. Choose a different name. 0516-822 mklv: Unable to create logical volume. 0516-358 getlvname: Illegal name; the prefix of the name is reserved. Choose a different name. 0516-822 mklv: Unable to create logical volume. 0516-358 getlvname: Illegal name; the prefix of the name is reserved. Choose a different name.
    2023-05-16
yulu4314yulu4314技术支持长春
其实单个创建也没有多慢!显示全部

其实单个创建也没有多慢!

收起
系统集成 · 2023-06-13
浏览550

ChatGPT 回答

根据报错信息,可以看出是因为脚本中的$a变量没有被正确赋值导致的。可以尝试修改脚本如下:

#!/bin/sh
a=$(cat file.txt)
for i in $a
do
    mkvg -y $i Testvg
    mklv -t jfs2 -y $i $i"_lv" 4G Testvg
done

修改后的脚本中,首先将file.txt中的内容赋值给变量$a,然后使用for循环遍历$a中的每个lv名称,依次创建vg和lv。其中,$i"_lv"表示将lv名称拼接上"_lv"后作为新的lv名称。

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-05-15
  • 关注会员:5 人
  • 问题浏览:2179
  • 最近回答:2023-06-13
  • X社区推广