ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก มิถุนายน, 2018

Predictable Network Interface Names #3

Predictable Network Interface Names ภาคสุดท้ายปิดตำนานยาจกซูกับไม้ตีสุนัข ไม่ใช่ละ อันนี้มันเกี่ยวกับระบบปฏิบัติการ จิงต้องบอกว่ามันไม่เกี่ยวกับหัวข้อเลยที่กล่าวถึง แต่ขอมัดรวมเป็นเรื่องเดียวกันหน่อยครับ เพราะมันมีบางส่วนที่ทำต่อเนื่องกัน โดยในบทความนี้ จะกล่าวถึงการตั้งชื่อ อินเตอร์เฟสแลนการ์ด โดยแมฟกับ MAC Address จากตอนที่แล้วจะเห็นว่าอินเตอร์เฟสมันไม่เรียงเลย ถึงแม้เราจะเปลี่ยนชื่อเป็นแบบเก่า ก็จะยังเป็นแบบตามรูปด้านล่างที่ยังมีปัญหาอยู่ขึ้นอยู่ ทำให้ตอนใช้งานก็จะยังลำบากเหมือนเดิม ปัญหาที่ตามมาคงไม่ต้องบอกกันนะ คนเขียนโปรแกรมถึงกลับร้องไห้ ผมจะเขียนยังไงอะพี่ โดยในลีนุกส์จะใช้การเรียงลำดับจากเลข MAC Address พอ chip คนละตัว และเลขน้อยกว่า ทำให้มันไปพอร์ตที่ 5 เป็น eth0 ตามด้านบน  วิธีแก้ไขจะมีอยู่ 2 แบบ ขึ้นกับว่าโอเอสที่ใช้ แบบเก่า UDEV (Dynamic Device Management)     ขั้นตอน      - export INTERFACE=eth0      - export MATCHADDR=xx:xx:xx:xx:xx:xx      - /lib/udev/write_net_rules     คำสั่ง   /lib/udev/write_net_rules จะทำการไปสร้างไฟล์  /etc/udev/

Predictable Network Interface Names #2

Predictable Network Interface Names มาต่อกันจากประเด็นตอนที่แล้วทำให้ผู้เขียนต้องหาวิธีให้ระบบปฏิบัติการที่ผู้เขียนใช้เปลี่ยนกลับเป็นแบบเดิม เช่น eno1 เป็น eth0 ฯลฯ  และเหตุผลหลักที่ผมต้องการเปลี่ยนเป็นแบบเดิม ผมทำอุปกรณ์ network appliance ของ lanner ลิงค์รุ่น FW-7525 ตามรูปด้านล่าง ซึ่งจริงดูเหมือนว่าจะเป็น onboard ทั้งหมดนิ ไม่ยากอะไร แต่จริงแล้วตัวอุปกรณ์มี chipset การ์ดแลนคนละแบบกัน  ตัวอย่างชื่ออินเตอร์เฟส ens3,  ens4,  eno1,  eno2,  eno3,  eno4 ปัญหาที่เกิดขึ้น คือ มันจะแสดงแบบด้านบน แล้วผมจะเขียนโปรแกรมยังไงว่าพอร์ตซ้าย คือ พอร์ต manage พอเปลี่ยน hardware อีกชื่อก็เปลี่ยนอีก ผู้เขียนเลยต้องการเปลี่ยนให้เขียนโปรแกรมง่าย และเรียงลำดับพอร์ตเองได้อย่างถูกต้อง ไม่ต้องเหนื่อยคนเขียนโปรแกรม ขั้นตอนแก้ไขเปลี่ยนกลับแบบเดิม OS: Debian 9.0 - 9.4 (Stretch) nano /etc/default/grub หาบรรทัด GRUB_CMDLINE_LINUX ทำการเพิ่ม net.ifnames=0 biosdevname=0 บันทึกไฟล์ และทำการ update-grub OS: Ubuntu 14.04.X แก้เป็น net.ifnames=1 biosdevname=0 OS: Ubuntu 16.

Predictable Network Interface Names #1

Predictable Network Interface Names พูดถึงชื่อหัวข้อก่อนเดิมผู้เขียนก็คิดว่าเขียนเป็นภาษาไทยเลย แต่เดี่ยวคนอ่านจะงงหาไม่เจอในเน็ต เพราะเชื่อว่าเรื่องนี้ไม่มีใครเขียนถึง โดยสรุปหัวข้อ คือ " ชื่อเรียกของเน็ตเวิร์กอินเตอร์เฟสสามารถคาดเดาได้ว่าเป็นแบบไหน "  โดยจากเดิม ตัวอย่าง ถ้าเป็นการ์ดแลน ชื่อเรียกจะเป็น ethX เช่น eth0, eth1 ฯลฯ หรือถ้าเป็นการ์ดไวเลส จะเป็น wlanX เช่น wlan0, wlan1 ฯลฯ แต่คราวนี้ทางกลุ่มพัฒนาระบบปฏิบัติการ มองว่ามันแยกยากว่าเป็นแบบไหน โดยเบื้องต้น ชื่อจะเปลี่ยนตามรูปแบบของ Interface และรูปแบบการเชื่อมต่อ เป็น onboard, pci เช่น en -- ethernet wl -- wlan ww -- wwan ยกตัวอย่าง เป็นแลนการ์ดออนบอร์ด จะชื่อว่า eno1 หรือถ้าเป็น แลนการ์ด pci มาเสียบเพิ่ม จะชื่อว่า ens1  (s มาจากคำว่า slot) แต่ปัญหา คือ มันกลายเป็นว่ายากต่อการจำโดยความคิดเห็นส่วนตัวของผู้เขียน เช่น ens33 ฯลฯ ไม่เรียงให้ตูเลย ทำให้ยิ่งเขียนโปรแกรมจัดการยากขึ้น ซึ่งจริงมันมีคำสั่งดูอยู่แล้วว่า interface นั้นเป็นแบบไหน แต่เมื่อกระแสโลกต้องการแบบนั้นเราก็เปลี่ยนก็ต้องใช้ไป ปล. เรื

WARNING : Failed to connect to lvmetad. Falling back to device scanning

WARNING : Failed to connect to lvmetad. Falling back to device scanning เมื่อวานลง Debian 9.4 (Stretch) บนเครื่อง Lanner รุ่น FW-7525 ผ่าน Serial Console Port โดยเราเปลี่ยน Partition แบบเก่ามาใช้แบบ LVM เลยเจอข้อความขึ้นแจ้งเตือนตามหัวข้อ หลังจากบูตเข้าเครื่อง ซึ่งจริงก็ไม่มีปัญหาอะไรมาก เพราะเป็นบักที่ไม่สำคัญหรือร้ายแรงอะไร จะปล่อยไว้ก็ได้ แต่แค่ผู้เขียนไม่ชอบอะไรไม่ Clean ก็เลยจะทำการปิด Warning นี้ไปสะ ขั้นตอน เปิดไฟล์ /etc/lvm/lvm.conf เช่น nano /etc/lve/lvm.conf หาคำว่า use_lvmetad=1 และทำการแก้เป็น use_lvmetad=0 และทำการ update initramfs ของ kernel version ปัจจุบัน ตามนี้ update-initramfs -k $(uname -r) -u; sync แล้วก็ทำการรีบูตเครื่อง ก็จะไม่แสดงข้อความแจ้งเตือน เป็นอันจบเรียบร้อย