제가 가장 최근에 맡은 임무는 Linux에서 하드 드라이브 관리 시스템을 만드는 것이었습니다. 드라이브가 온라인 및 오프라인 상태가 되는 시기를 모니터링하고 드라이브 마운트에 대한 링크를 생성/제거하는 프로그램을 작성해야 합니다.
이것은 쉬운 부분입니다 ...
내 GUI를 도크의 하드 드라이브 위치와 일치시키는 방법을 모르겠습니다. 누군가가 드라이브가 들어 있는 물리적 도크를 쳐다보고 있을 경우 드라이브가 어떻게 보일지 표현하는 프로그램이 필요합니다. 현재 저는 /sd*로 드라이브를 식별하고 있는데, 핫플러그하거나 재부팅할 때 변경되기 때문에 이는 나쁜 접근 방식이라는 것을 알고 있습니다. 하드 드라이브의 물리적 위치를 알아내는 데 사용할 수 있는 명령을 아는 사람이 있습니까?
미리 감사드립니다!
답변1
장치의 /sys 노드를 조회하여 해당 장치가 어떤 포트와 컨트롤러에 있는지 알아낼 수 있습니다. 여기에서 사용자가 포트의 물리적 위치를 수동으로 구성하도록 해야 합니다. SAS와 SCSI에는 특정 포트에 여러 장치가 연결되어 있으므로 이는 SATA에만 적용됩니다.
답변2
매핑을 완전히 파악한 다음 각 드라이브의 파일 시스템에 레이블을 지정하여 알 수 있습니다. 드라이브 교체 시 레이블을 다시 지정하도록 관리 도구를 조정하십시오.
답변3
다음 출력을 구문 분석해 보세요.
sudo lshw
또는 더 구체적인 결과를 얻으려면 다음을 수행하세요.
lsscsi
마지막으로 명령과 동일한 이름을 가진 패키지를 설치해야 할 수도 있습니다.