LLOG_READER(8)

πŸ“¦ version 2.17.58, in ubuntu stonking

πŸ’– LLOG_READER(8) πŸ’–

okay bestie, welcome to the Lustre Configuration Utilities corner of the manual, where we talk about everyone's fave little detective: llog_reader. she's llog_reader(8) and she's here to snoop, but only read-only. she does not text back. periodt. πŸ•΅οΈβ™€οΈβœ¨


🌸 NAME 🌸

llog_reader β€” the lustre on-disk log parsing utility. it reads the gossip, she never writes it. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

llog_reader FILENAME

one arg. that's it. that's the whole vibe. πŸ¦‹


✨ DESCRIPTION ✨

so like, llog_reader parses the binary format of Lustre's on-disk config logs. that's it, that's the job. πŸ“–

and listen β€” she can only read the logs. literally read-only queen. if you wanna write to them? not her department, bestie. that's tunefs.lustre's whole thing. go bother her. πŸ’€


⚠️ CAVEATS ⚠️

no cap, this is important: even though mountdata files hang out in the CONFIGS directory looking all cute and belonging, they do not use the config log format. so llog_reader will get completely confused and throw hands. mountdata is not like the other girls. πŸ™ˆ

πŸ”₯ EXAMPLES πŸ”₯

πŸ’œ on a stopped Lustre server

wanna peek at a log file while the server's asleep? first you gotta mount its backing file system as ldiskfs, then let llog_reader dump the log file's contents:

# mount -t ldiskfs /dev/sda /mnt/mgs
llog_reader /mnt/mgs/CONFIGS/tfs-client

πŸ’œ on a running Lustre server

same log file but the server is awake and thriving? use the ldiskfs-enabled debugfs utility instead (on some distros she goes by debug.ldiskfs, icon behavior honestly) to extract the file:

# debugfs -c -R 'dump CONFIGS/tfs-client /tmp/tfs-client' /dev/sda
llog_reader /tmp/tfs-client

πŸ’œ examining Changelog records on a stopped server

now for the changelog moment. first mount the backing file system as ldiskfs, then let llog_reader dump the changelog's contents:

# mount -t ldiskfs /dev/sda /mnt/mgs
# llog_reader /mnt/mgs/changelog_catalog
rec #1 type=1064553b len=64 offset 8192
Header size : 8192
Time : Mon Jan 22 23:28:24 2018
Number of records: 1
Target uuid :
-----------------------
#01 (064)id=[0x5:0x1:0x0]:0 path=
O/1/d5/5
# llog_reader /mnt/mgs/
O/1/d5/5
rec #1 type=10660000 len=136 offset 8192
rec #2 type=10660000 len=136 offset 8328
rec #3 type=10660000 len=128 offset 8464
Header size : 8192
Time : Mon Jan 22 23:30:01 2018
Number of records: 3
Target uuid :
-----------------------
#01 (136)changelog record id:0x0 cr_flags:0x9000 cr_type:CREAT(0x1)
date:'14:30:01.370700741 2018.01.22' target:[0x200000402:0x1:0x0]
cr_extra_flags:0x3 user:0:0 nid:10.128.11.159@tcp parent:[0x200000007:0x1:0x0]
name:fileA

like?? look at all that output. she ATE. πŸ“


🌈 AVAILABILITY 🌈

llog_reader has been part of the lustre(7) filesystem package since release 1.4.0. she's a legacy icon and she's been serving since before some of us could walk. πŸ‘‘


πŸ‘€ SEE ALSO πŸ‘€

also go read the Lustre Operations Manual, specifically the Troubleshooting Lustre section. iykyk. πŸ“šπŸ«Ά


ok that's the whole page, bestie!! this was rendered from the Lustre manual, dated 2024-08-28 β€” mwah, love that for us. go parse some logs and slay responsibly. βœ¨πŸ’–πŸŽ€

πŸ“¦ where this page comes from