SATA 확장카드

PCI-e인터페이스의 SATA 확장카드가 필요해서 약 3개월 전 아래 링크의 제품을 구입했다. (인터페이스는 PCI-e 2.0 x 1)
https://www.amazon.com/gp/product/B00AZ9T3OU

국내의 쇼핑몰에서 구입가능한것은 2포트 아니면 4포트에 PCI-e 2배속 이상의 슬롯에만 호환되었다. 그리고 이러한 4포트짜리를 구입하여 리눅스 머신으로 사용중인 AMD 데스크톱에 꼽고 부팅해보니… 호환이 안되었다. 내장 SATA 컨트롤러마저 오동작하여 파일시스템 인식에 문제까지 발생되었다. 보드모델은 B450 AORUS PRO. (다행스럽게 파일시스템이 깨지지는 않았지만 순간 느꼈던 위화감은…)

제품 설명서에 Supports Port Multiplier FIS based switching or command based switching 이라는 문구가 있으니 외장 케이스 중 이러한 기술을 지원하는 제품을 쓴다면 유용하게 사용가능하다.

아래 이미지는 https://sata-io.org/developers/sata-ecosystem/port-multipliers 이곳에서 가지고 온 Port Multiplier 방식

FIS based switching
Command based switching

요즘 컨트롤러는 다 지원하지않을까 생각되지만 확인해서 나쁠것 없는 사양. 혹시나 SATA 컨트롤러가 필요하다면 링크걸린 아마존의 상품을 추천하고싶다.

Bluecom DECIBEL BCS-T90 일주일 사용기

글쓰는 제주가 없으니까 짧게 핵심만.

제품외관

2015년형 아이폰 6s라 요즘 폰 보다 색감이 안좋은 듯.

부담감 안느껴지는 유닛크기였다. 단지 기본으로 장착 된 중간사이즈의 이어폰 팁이 맞지않아 교체를 하게 될 경우 의외로 꽉 끼여있어서 지나칠정도로 잡아당긴다는 느낌으로 빼야 빠졌다. 넣을때는 대충 구멍에 맞춰서 볼트를 돌리듯 시계방향, 반시계방향으로 돌리면서 밀어넣어야 들어갔다.

사운드는 언급은 음악이 직업이신 Producer dk의 영상이 나을거같으니 링크: https://www.youtube.com/watch?v=og8I6zhppyk

개인적인 느낌으로는 와~! 라고 감탄할 정도는 아니였지만 정가 10만원 블루투스 커널형 이어폰이라는 조건에서 잘 뽑혔다고 생각된다. 현재 쓰고있는 유선 커널 20만원대의 Beoplay H3와 비교하면 T90이 조금 더 고음이 약한것 말고 확 느껴질 정도는 아니였다. 저음은 T90이 살작 더 묵직한듯 했지만 이건 고음이 약한탓인지는 특성 그래프를 못봐서 모르겠다. 가성비로 생각하면 T90쪽이 확실히 우월한듯하다. Beoplay H3와 얼마나 차이날지 모르겠지만 Producer dk의 Beoplay E8 평가에서는 고음이 강해서 오래 들으면 피로할 수 있겠다고 했다. 이건 개인취향+기기의 특성에따라 다를 듯 하다. (E8은 올해 내 구입할 생각이니 H3와 얼마나 차이날지 궁금하긴하다. 아이폰 신형을 구입하려하기때문에 어차피 E8 2.0을 사려고 했던것이니 언젠가 직접 비교해보게 될듯.)

단지 어느정도 주의를 가지고 구입해야 할점이 완전하게 선 없는 블루투스 이어폰이 처음이라 그런지 제품의 상태가 사람마다 다른 듯 하다. (단지 공구때문에 며칠사이에 9천명이 구입하면서 유난히 눈에 띄는것일 수 있다. 불량률 1%라고 쳐도 90명은 불량품을 받은것이 되기때문이다.)

대기상태가 아닐 때 화이트노이즈가 좀 느껴지는데 뽑기가 안좋은건지 원래그런건지 모르겠고, 실내임에도 간혹 툭 끊김을 경험했다. 블루투스 5에서는 안그럴지 모르겠지만. 조작에 있어서도 아직 편리하지않다. 캐이스에 넣지않고 바로 연결대기로 진입하려면 터치부분 5초이상 누르면 된다고하지만 거의 안되었고 양쪽 다 5초 이상 눌러야 되던데… 그래도 연결이 안된 경우도 몇몇 있었다. 기기와 연결되었을 때 흘러나오는 음성도 귀 아플정도로 너무 컸다. 완전 무선 이어폰 1세대여서 그런지 수율이 안좋은거같고(공구로 한번에 구입량이 몰려서 그렇게 보인것일 수 있다.) 개선되어야 할 중요한 문제가 몇가지 보였다. 다음세대는 더 나은 제품이 출시되기를!

덧) 화이트노이즈는 블루투스 이어폰이라면 조금씩 있다고하는데 지금까지 유선이어폰만 사용해왔고 몇몇 청음했던 블루투스 이어폰은 장소가 소음없는 곳이 아니여서 다른 제품을 조용한 실내에서 직접 사용해본적이 없어서 어느정도가 정상인지는 모르겠다.

LVM cache 사용하기

참고: Logical Volume Manager의 cache 기능은 아직 커널에서 위험한 기능으로 되어있다. writeback 모드를 사용하면 데이터 손실 가능성이 크고 writethrough 모드를 사용하면 바로바로 디스크에도 기록하기때문에 추가적으로 발생하는 데이터 손실은 없는것으로 보인다.

아래 내용은 대부분 이곳에서 가져온 글이며, 개인적으로 좀 더 편리하게 찾기위해 하는 포스팅이다.

1. 캐시용 미디어 초기화 (sdc가 캐시용 미디어 일 경우를 기준)
parted /dev/sdc
– mklabel gpt (or mklabel msdos)
– mkpart ext2 1M 100%
– set 1 lvm on
– quit

2. 볼륨 그룹 확장 및 캐쉬용 볼륨 생성 (기존의 VG는 lv 일 경우를 기준)
pvcreate /dev/sdc1
vgextend lv /dev/sdc1

lvcreate -L 2G -n lv_cache lv /dev/sdc1 (lv_cache 볼륨을 /dev/sdc1 미디어만 사용하도록 지정하여 생성)
lvcreate -L 12M -n lv_cache_meta lv /dev/sdc1 (lv_cache_meta 볼륨을 /dev/sdc1 미디어만 사용하도록 지정하여 생성, metadata는 최소 8MiB 필요, metadata 영역없이 cache pool을 생성하면 data의 1000배 적은 용량으로 자동 생성된다.)

lvconvert –type cache-pool –cachemode writethrough –poolmetadata lv/lv_cache_meta lv/lv_cache

3. 기존의 볼륨에 캐시 할당
lvconvert –type cache –cachepool lv/lv_cache lv/home (기존의 home이라는 볼륨에 캐시 할당)

4. 캐시 할당 제거
lvconvert –uncache lv/home (cache pool도 함께 지워진다.)
lvconvert –splitcache lv/home (cache pool은 유지된다.)

5. 기타
물리장치가 고장나거나 사라지면 아래처럼 [unknown]으로 표시되며 경고 메시지가 출력된다.

$ pvs
WARNING: Device for PV qxYE8y-ale2-QPxN-tN01-8k3W-HgL3-29l1RR not found or rejected by a filter.
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg lvm2 a-- 12.00g 0
[unknown] vg lvm2 a-m 1.89g 1.89g

이런 경우는 vgreduce –removemissing –force vg 와같이 명령을 실행하면 강제로 제거할 수 있다.

GDM이 실행 안되는 문제

Gentoo 리눅스를 설치한 LettePanda에서 갑자기 systemctl start gdm이 안되더라…

중간에 무슨 일이 있었는지 모르겠지만 아래와같은 메시지가 나타났다.

Jan 18 21:15:38 lattepanda gdm-launch-environment][7364]: pam_systemd(gdm-launch-environment:session): Unknown parameter 'kill-session-processes=1', ignoring
Jan 18 21:15:38 lattepanda systemd[1]: Created slice User Slice of UID 115.
Jan 18 21:15:38 lattepanda systemd[1]: Started /run/user/115 mount wrapper.
Jan 18 21:15:38 lattepanda systemd[1]: Starting User Manager for UID 115...
Jan 18 21:15:38 lattepanda systemd-logind[230]: New session c505 of user gdm.
Jan 18 21:15:38 lattepanda systemd[1]: Started Session c505 of user gdm.
Jan 18 21:15:38 lattepanda systemd[7369]: pam_unix(systemd-user:session): session opened for user gdm by (uid=0)
Jan 18 21:15:38 lattepanda systemd[7369]: Reached target Timers.
Jan 18 21:15:38 lattepanda systemd[7369]: Reached target Sockets.
Jan 18 21:15:38 lattepanda systemd[7369]: Reached target Paths.
Jan 18 21:15:38 lattepanda systemd[7369]: Reached target Basic System.
Jan 18 21:15:38 lattepanda systemd[7369]: Reached target Default.
Jan 18 21:15:38 lattepanda systemd[7369]: Startup finished in 97ms.
Jan 18 21:15:38 lattepanda systemd[1]: Started User Manager for UID 115.
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]: (EE)
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]: Fatal server error:
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]: (EE) Cannot open log file "/var/lib/gdm/.local/share/xorg/Xorg.pid-7376.log"
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]: (EE)
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]: Please consult the The X.Org Foundation support
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]:          at http://wiki.x.org
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]:  for help.
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]: (EE)
Jan 18 21:15:38 lattepanda /usr/libexec/gdm-x-session[7374]: Unable to run X server
Jan 18 21:15:38 lattepanda systemd-logind[230]: Session c505 logged out. Waiting for processes to exit.
Jan 18 21:15:38 lattepanda systemd-logind[230]: Removed session c505.
Jan 18 21:15:38 lattepanda systemd[1]: user-runtime-dir@115.service: Unit not needed anymore. Stopping.
Jan 18 21:15:38 lattepanda systemd[1]: Stopping User Manager for UID 115...
Jan 18 21:15:38 lattepanda systemd[7369]: Stopped target Default.
Jan 18 21:15:38 lattepanda systemd[7369]: Stopped target Basic System.
Jan 18 21:15:38 lattepanda systemd[7369]: Stopped target Timers.
Jan 18 21:15:38 lattepanda systemd[7369]: Stopped target Sockets.
Jan 18 21:15:38 lattepanda systemd[7369]: Stopped target Paths.
Jan 18 21:15:38 lattepanda systemd[7369]: Reached target Shutdown.
Jan 18 21:15:38 lattepanda systemd[7369]: Starting Exit the Session...
Jan 18 21:15:38 lattepanda gdm[269]: Could not start command '/usr/libexec/gdm-session-worker': Too many open files
Jan 18 21:15:38 lattepanda gdm[269]: GLib: g_child_watch_add_full: assertion 'pid > 0' failed
Jan 18 21:15:38 lattepanda gdm[269]: Child process -7374 was already dead.
Jan 18 21:15:38 lattepanda gdm[269]: Child process 7364 was already dead.
Jan 18 21:15:38 lattepanda gdm[269]: Unable to kill session worker process

Could not start command ‘/usr/libexec/gdm-session-worker’: Too many open files 이걸 마지막으로 그 위 라인들이 반복해서 나타나는것이 사라지고 잠잠해진다. 구글링 해보니 이 페이지가 나왔다. 처음엔 그냥 ls만 해봐서 문제 없는데? 싶었다. 하지만 ls -al 하니 아래와같이 root.root로 .local 파일의 권한이 할당되어있는데… 무슨 문제가 있었길레 뜬금없이 갑자기 이렇게 되버린건지 모르겠다. 암튼 chown -R gdm.gdm .local 그리고 다른 파일도 권한을 바꿔서 잘 되었다.

lattepanda /var/lib/gdm # ls -al
total 4
drwxr-xr-x 1 gdm  gdm   108 Jan 15 15:55 .
drwxr-xr-x 1 root root  374 Jan  1 19:05 ..
drwxr-xr-x 1 gdm  gdm    84 Sep 19 19:53 .cache
drwxr-xr-x 1 gdm  gdm    64 Sep 15 03:08 .config
-rw------- 1 gdm  gdm  1678 Oct  2 09:41 .ICEauthority
-rw-r--r-- 1 root root    0 Jan 15 15:55 .keep_gnome-base_gdm-0
drwxr-xr-x 1 root root   10 Sep  4 01:01 .local
lattepanda /var/lib/gdm #

그런데 로그파일을 못열었다고 gdm이 실행안되는건… 바람직한걸까?

직접 빌드한 리눅스 커널의 모듈 사이즈가 클 경우 해결 법(?)

최근 우분투 커널 설정과 동일한 설정으로 커널을 빌드하여 모듈의 용량을 본 적이 있었다. 무려 2기가 넘는 용량에 놀랐었는데… 쓰이지 않는 모듈 최대한 빼고 빌드하여도 수백메가 넘는 용량을 보였다. 그냥 데스크톱에서 사용 할 목적이면 신경도 안썼겠지만 우분투 리눅스의 모듈은 이보다 훨씬 적은 용량이였고 제한 된 스토리지 용량에 올리려다보니 계속 신경이 쓰여 구글링을 해보았다.

먼저 답을 얻은 글: https://groups.google.com/forum/#!topic/comp.os.linux.development.system/bjU7AfeZl5I

방법은 두가지이며 무엇을 선택하더라도 결과적으로 동일한 용량을 가지게된다.

1. make INSTALL_MOD_STRIP=1 modules_install
2. CONFIG_DEBUG_INFO 제거

두번째 방법은 아래 설정에서 해제하면 된다.

디버그 정보를 포함 하였을 때 용량

디버그 정보를 제거 하였을 때 용량

꽤나 큰 차이를 보인다. 디버그 정보가 있어도 이걸 활용하거나 직접 고칠일은 없으므로 용량이 넉넉하지않은 타겟의 커널을 빌드할 때 신경을 써야겠다.