นี่คือเพลย์บุ๊กของฉัน
---
- โฮสต์: mytestserver
กลายเป็น: จริง
makes_method: sudo
Gather_facts: จริง
วาร์:
# เพื่อรับ vgname และ lvname จากอุปกรณ์ของ ansible_mounts
mt: "{{ MT }}" #Extravariable
disp_pth: "{{ รายการ['อุปกรณ์'] }}"
disp_tmp: "{{ disp_pth | ชื่อฐาน }}"
DISP: "{{ disp_tmp.split('-') }}"
ชื่อ VG: "{{ DISP.0 }}"
LVname1: "{{ DISP.1 }}"
DISPP2: "{{ DISP.3|default('') }}"
LVname2: "{{ DISP.1 }}-{{ DISPP2 }}"
LVname: "{{ LVname2 ถ้า (disp_tmp | regex_search('--')) อื่น LVname1 }}"
งาน:
- ชื่อ: รับค่าระบบไฟล์
ระดับ:
vg: "{{ VGname }}"
เลเวล: "{{ ชื่อเลเวล }}"
with_items: "{{ ansible_mounts }}"
เมื่อ: item.mount == MT
ลงทะเบียน: myfs
- แก้ปัญหา:
var: myfs
เมื่อฉันดำเนินการ:
$ ansible-playbook -i proyects/Inventory/awx_hosts -l mytestserver getlvmfacts.yml -e MT=/DATA
ฉันได้รับค่า:
เล่น [เซิร์ฟเวอร์ mytest] *********************************************** ************************************************** ************************************************** ************************************************** **************
TASK [รวบรวมข้อเท็จจริง] ********************************************* ************************************************** ************************************************** ************************************************** ***************
ตกลง: [mytestserver]
TASK [รับค่าระบบไฟล์] *********************************************** ************************************************** ************************************************** ************************************************** **********
โอเค: [mytestserver] => (item={'block_used': 21620, 'uuid': '7fef92b8-8157-43d1-92b4-525a56fa33f8', 'size_total': 1056858112, 'block_total': 258022, 'mount': ' /DATA', 'block_available': 236402, 'size_available': 968302592, 'fstype': 'ext4', 'inode_total': 65536, 'options': 'rw', 'device': '/dev/mapper/vgAPP- ข้อมูล', 'inode_used': 11, 'block_size': 4096, 'inode_available': 65525})
งาน [แก้ไขข้อบกพร่อง] *********************************************** ************************************************** ************************************************** ************************************************** ************************
ตกลง: [mytestserver] => {
"myfs": {
"เปลี่ยนแปลง": เท็จ
"msg": "รายการทั้งหมดเสร็จสมบูรณ์",
"ผล": [
{
"ansible_loop_var": "รายการ",
"เปลี่ยนแปลง": เท็จ
"สิ่งของ": {
"block_available": 414770,
"block_size": 4096,
"block_total": 516052,
"block_used": 101282,
"อุปกรณ์": "/dev/mapper/vg00-lvol01",
"fstype": "ต่อ 3",
"inode_available": 124211,
"inode_total": 131072,
"inode_used": 6861,
"เมาท์": "/",
"ตัวเลือก": "rw",
"size_available": 1698897920,
"size_total": 2113748992,
"uuid": "7df9171b-c31f-434f-94c5-344d02775e89"
},
"skip_reason": "ผลลัพธ์แบบมีเงื่อนไขเป็นเท็จ",
"ข้าม": จริง
},
{
"ansible_loop_var": "รายการ",
"เปลี่ยนแปลง": เท็จ
"สิ่งของ": {
"block_available": 1037688,
"block_size": 4096,
"block_total": 1046016,
"block_used": 8328,
"อุปกรณ์": "/dev/mapper/vgDATA-BASET--DATA1",
"fstype": "xfs",
"inode_available": 4194301,
"inode_total": 4194304,
"inode_used": 3,
"เมานต์": "/BASET/DATA1",
"ตัวเลือก": "rw",
"size_available": 4250370048,
"size_total": 4284481536,
"uuid": "91689e9b-552c-4f0e-b0ec-0d3d25154a72"
},
"skip_reason": "ผลลัพธ์แบบมีเงื่อนไขเป็นเท็จ",
"ข้าม": จริง
},
{
"ansible_loop_var": "รายการ",
"เปลี่ยนแปลง": เท็จ
"ล้มเหลว": เท็จ
"การร้องขอ": {
"module_args": {
"ใช้งานอยู่": จริง
"แรง": เท็จ
"lv": "ข้อมูล",
"ตัวเลือก": null,
"pvs": โมฆะ
"resizefs": เท็จ
"หด": จริง
"ขนาด": โมฆะ
"ภาพรวม": null,
"สถานะ": "ปัจจุบัน",
"ทินพูล": null,
"vg": "vgแอป"
}
},
"สิ่งของ": {
"block_available": 236402,
"block_size": 4096,
"block_total": 258022,
"block_used": 21620,
"อุปกรณ์": "/dev/mapper/vgAPP-DATA",
"fstype": "ext4",
"inode_available": 65525,
"inode_total": 65536,
"inode_used": 11,
"เมาท์": "/DATA",
"ตัวเลือก": "rw",
"size_available": 968302592,
"size_total": 1056858112,
"uuid": "7fef92b8-8157-43d1-92b4-525a56fa33f8"
},
"lv": "ข้อมูล",
"ขนาด": 1024.0,
"vg": "vgแอป"
},
{
"ansible_loop_var": "รายการ",
"เปลี่ยนแปลง": เท็จ
"สิ่งของ": {
"block_available": 472667,
"block_size": 4096,
"block_total": 516052,
"block_used": 43385,
"อุปกรณ์": "/dev/mapper/vg00-lvol07",
"fstype": "ต่อ 3",
"inode_available": 131061,
"inode_total": 131072,
"inode_used": 11,
"ภูเขา": "/tivoli",
"ตัวเลือก": "rw",
"size_available": 1936044032,
"size_total": 2113748992,
"uuid": "2310d046-eaad-4419-a94b-197c2c56502c"
},
"skip_reason": "ผลลัพธ์แบบมีเงื่อนไขเป็นเท็จ",
"ข้าม": จริง
}
]
}
}
ในตอนท้ายของจุดเชื่อมต่อที่ตรงกัน (/DATA) มีพารามิเตอร์ระบบไฟล์สามตัว:
"lv": "ข้อมูล",
"ขนาด": 1024.0,
"vg": "vgแอป"
คำถามคือ ฉันจะอ้างอิงพารามิเตอร์นี้ได้อย่างไร
ฉันได้ลองใช้ myfs.lv แต่ไม่ได้ผลและหลากหลายวิธีมากขึ้น
ฉันคิดว่าเป็นเพราะสิ่งเหล่านั้นไม่ได้อยู่ข้างใน 'สิ่งของ'
ที่ต้องการ:
ใช้บางอย่างเช่น "myfs.lv" และรับ "ข้อมูล"
หวังว่าคุณจะสามารถช่วยได้
ขอบคุณล่วงหน้า!