Centos + TeslaV100 + docker

2019.7.3 出差歸來,開始部署GPU服務(wù)器梦湘,一頓操作下來,安裝成功... ... ,一直運(yùn)行到2019.8.23號(hào)件甥,期間遇到過一些問題捌议,也做過一些記錄,但事情繁雜引有,需要時(shí)發(fā)現(xiàn)以找不到瓣颅,于是,決定簡書上開始記錄之旅譬正!


問題緣由:2019.8.23 下午宫补,準(zhǔn)備運(yùn)行jupyter notebook上的文件檬姥,發(fā)現(xiàn)連接已斷,putty也是連接不上粉怕。

發(fā)現(xiàn)問題:去機(jī)房查看健民,發(fā)現(xiàn)是同時(shí)安裝另一臺(tái)服務(wù)器系統(tǒng)時(shí),不小心碰到了GPU服務(wù)器的電源贫贝。

解決問題:重啟電腦后查看顯卡:


命令:lspci | grep NVIDIA? ? ? ? 【Tip: NVIDIA 需要大寫】

可以檢測(cè)到顯卡信息

命令:nvidia-smi

無法連接到英偉達(dá)驅(qū)動(dòng)

自己之前命名安裝好了Nvidia驅(qū)動(dòng)秉犹,怎么現(xiàn)在就報(bào)錯(cuò)了呢?沒有辦法稚晚,關(guān)掉電腦崇堵,下班回家,平復(fù)下心情蜈彼,周六再來弄筑辨!

上網(wǎng)查詢資料后俺驶,發(fā)現(xiàn)可能是由非正常關(guān)機(jī)導(dǎo)致的幸逆,解決方法是只能重裝(恰好可以在熟練一遍

開始重裝吧暮现,記錄一下:


目前 顯卡驅(qū)動(dòng) 安裝方式有三種

1还绘、CUDA(.run) 下載以后安裝帶上顯卡驅(qū)動(dòng)

2、顯卡驅(qū)動(dòng) .run文件安裝 (我采用的是這種方式

3栖袋、集成軟件包安裝(yum等)

接下來介紹第二種安裝方式的卸載方法:

找到 .run 文件拍顷,執(zhí)行以下命令:

命令:sh NVIDIA-Linux-x86_64-418.67.run --uninstall


開始卸載


手太快,這是第二遍卸載的顯示

開始安裝:

命令:sh NVIDIA-Linux-x86_64-418.67.run -no-opengl-files

報(bào)錯(cuò)了


前去機(jī)房塘幅,把在機(jī)房登錄的桌面賬戶(注銷)昔案,仍然出現(xiàn)如上的錯(cuò)誤。


以下轉(zhuǎn)自:http://www.reibang.com/p/36dcf5185f01

圖形界面 X Server的關(guān)閉與啟動(dòng)

Linux圖形界面多數(shù)使用的是X Server电媳,我們優(yōu)勢(shì)需要關(guān)閉/重啟它踏揣。比如:安裝NVIDIA的驅(qū)動(dòng)程序時(shí),就需要先關(guān)閉X server匾乓;希望讓系統(tǒng)以server方式運(yùn)行捞稿,關(guān)閉桌面環(huán)境以降低不必要的性能損耗。

Ubuntu 16.04 管理 x server

1. 用gdm管理


如果 /etc/init.d 下面沒有g(shù)dm的話拼缝,可以嘗試另一種方法

2. 用lightdm管理


3. 用service管理


centos7 管理 x server




所以首先查看下 X server的狀態(tài)

命令:sudo systemctl status gdm.service

命令:sudo systemctl stop gdm.service

再執(zhí)行:

sh NVIDIA-Linux-x86_64-418.67.run?-no-opengl-files

此時(shí)娱局,報(bào)如下錯(cuò)誤:

ok 有錯(cuò)誤是好事


是否需要幫助你創(chuàng)建使Nouveau disable的文件


需要重啟,如果想要再啟動(dòng)Nouveau的話咧七,請(qǐng)刪除這些文件


找到 /usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf

打開后查看內(nèi)容:


找到? ?/etc/modprobe.d/nvidia-installer-disable-nouveau.conf


兩個(gè)文件同樣的內(nèi)容:

執(zhí)行命令:lsmod | grep nouveau


linux中blacklist.conf解讀

我們?cè)趌inux中安裝驅(qū)動(dòng)衰齐,有時(shí)會(huì)遇到受限或沖突,通常解決方式都是要修改blacklist.conf继阻,那么如何認(rèn)識(shí)和深入了解它呢娇斩?下面就解讀下

一仁卷、blacklist黑名單

對(duì)內(nèi)核模塊來說,黑名單是指禁止某個(gè)模塊裝入的機(jī)制

在 /etc/modprobe.d/中創(chuàng)建.conf文件犬第,使用blacklist關(guān)鍵字屏蔽不需要的模塊锦积。

重新建立 initramfs image文件

## mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

# dracut /boot/initramfs-$(uname -r).img $(uname -r)?


執(zhí)行命令:$(uname -r)

命令:reboot

默認(rèn)進(jìn)入第一個(gè),報(bào)錯(cuò)

第二個(gè)歉嗓,第三個(gè)內(nèi)核可以執(zhí)行成功:

但是丰介,運(yùn)行:lsmod | grep nouveau?

依舊如此

什么是Nouveau?

Nouveau是由第三方為NVIDIA顯卡開發(fā)的一個(gè)開源3D驅(qū)動(dòng)鉴分,也沒能得到NVIDIA的認(rèn)可與支持哮幢。雖然Nouveau Gallium3D在游戲速度上還遠(yuǎn)遠(yuǎn)和NVIDIA官方私有驅(qū)動(dòng)相提并論,不過確讓Linux更容易的應(yīng)對(duì)各種復(fù)雜的NVIDIA顯卡環(huán)境志珍,讓用戶安裝完系統(tǒng)即可進(jìn)入桌面并且有不錯(cuò)的顯示效果橙垢,所以,很多Linux發(fā)行版默認(rèn)集成了Nouveau驅(qū)動(dòng)伦糯,在遇到NVIDIA顯卡時(shí)默認(rèn)安裝柜某。企業(yè)版的Linux更是如此,幾乎所有支持圖形界面的企業(yè)Linux發(fā)行版都將Nouveau收入其中敛纲。

不過對(duì)于個(gè)人桌面用戶來說喂击,處于成長階段的Nouveau并不完美,與企業(yè)版不一樣淤翔,個(gè)人用戶除了想讓正常顯示圖形界面外很多時(shí)候還需要一些3D特效翰绊,Nouveau多數(shù)時(shí)候并不能完成,而用戶在安裝NVIDIA官方私有驅(qū)動(dòng)的時(shí)候Nouveau又成為了障礙旁壮,不干掉Nouveau安裝時(shí)總是報(bào)錯(cuò)监嗜。

nouveau 【百度百科】

這是一個(gè)旨在為nvidia的GPU建立高質(zhì)量的,免費(fèi)自由的開源驅(qū)動(dòng)項(xiàng)目抡谐,nouveau"[nuvo]"與new諧音裁奇,是Linux KMS驅(qū)動(dòng)的一部分,最新的版本在Linux內(nèi)核中支持nvidia的帕斯卡構(gòu)架童叠。

nouveau是一個(gè)自由開放源代碼CPU驅(qū)動(dòng)程序框喳,是為AMD的cpu所編寫,也可用于系統(tǒng)芯片的高通系列厦坛,此驅(qū)動(dòng)程序是由一群獨(dú)立的軟件工程師所編寫五垮,Nvidia的員工也提供了些微的幫助,微軟也提供了很大的幫助杜秸,谷歌也不甘示弱地提供了盡可能多的幫助放仗。


GRUB

GNU GRUB(GRand Unified Booloader簡稱“GRUB”)是一個(gè)來自GNU項(xiàng)目的操作系統(tǒng)啟動(dòng)程序。GRUB是多啟動(dòng)規(guī)范的實(shí)現(xiàn)撬碟,它允許用戶可以在計(jì)算機(jī)內(nèi)榮氏擁有多個(gè)操作系統(tǒng)诞挨,并在計(jì)算機(jī)啟動(dòng)時(shí)選擇希望運(yùn)行的操作系統(tǒng)莉撇。GRUB可用于選擇操作系統(tǒng)分區(qū)上的不同內(nèi)核,也可以用于向這些內(nèi)核傳遞啟動(dòng)參數(shù)惶傻。

GNU GRUB和GRUB是GRand Unified Bootloader的縮寫棍郎,它是一個(gè)多重操作系統(tǒng)啟動(dòng)管理器。用來引導(dǎo)不同系統(tǒng)银室,如windows涂佃,linux。


Initramfs原理和實(shí)踐

Linux系統(tǒng)啟動(dòng)時(shí)使用 initramfs(initram file system), initramfs可以在啟動(dòng)早期提供一個(gè)用戶態(tài)環(huán)境蜈敢,借助它可以完成一些內(nèi)核在啟動(dòng)階段不易完成的工作辜荠。當(dāng)然 initramfs 是可選的,Linux中的內(nèi)核編譯選項(xiàng)默認(rèn)開啟initrd抓狭。


initramfs包含引導(dǎo)所需的所有硬件的內(nèi)核模塊伯病,以及進(jìn)入下一個(gè)引導(dǎo)階段所需的初始腳本。在Centos/RHEL系統(tǒng)上否过,initramfs包含一個(gè)完整的操作系統(tǒng)(可用于故障排除)午笛。

偶爾,initramfs鏡像也可能會(huì)被損壞叠纹。如果發(fā)生這種情況季研,則無法將服務(wù)器啟動(dòng)到正常操作模式敞葛。要在引導(dǎo)到救援環(huán)境后修復(fù)initramfs鏡像誉察,可以使用dracut命令。如果不帶參數(shù)使用惹谐,則此命令當(dāng)前加載的內(nèi)核創(chuàng)建新的initramfs持偏。

或者,您可以使用帶有多個(gè)選項(xiàng)的dracut命令為特定內(nèi)核環(huán)境創(chuàng)建initramfs氨肌。還有一個(gè)名為 /etc/dracut.conf的配置文件鸿秆,您可以在重新創(chuàng)建 initramfs時(shí)使用該文件包含特定選項(xiàng)。

initrd(rd-ramdisk)和initramfs(ramfs-ram file systme)之間的區(qū)別

幾年前怎囚,Linux Torvalds有一個(gè)很好的想法:如果Linux的緩存可以像文件系統(tǒng)一樣掛載會(huì)怎么樣卿叽?只是將文件保存在緩存中,永遠(yuǎn)不要?jiǎng)h除它們恳守,直到它們被刪除或系統(tǒng)重新啟動(dòng)考婴,Linux在緩存周圍寫了一個(gè)名為“ramfs”的小包裝器,其他內(nèi)核開發(fā)人員創(chuàng)建了一個(gè)名為“tmpfs”的改進(jìn)版本(它可以將數(shù)據(jù)寫入交換空間催烘,并限制給定安裝點(diǎn)的大小沥阱,以便在消耗之前填滿所有可能的內(nèi)存)。Initramfs是tmpfs的一個(gè)實(shí)例伊群。



本文鏈接:https://blog.csdn.net/fickyou/article/details/51331911

當(dāng)Linux內(nèi)核啟動(dòng)時(shí)考杉,必須找到并執(zhí)行第一個(gè)用戶程序策精,通常是init。用戶程序存放在文件系統(tǒng)崇棠,故Linux必須找到并掛載第一個(gè)文件系統(tǒng)咽袜。

通常,可用的文件系統(tǒng)都列在/etc/fstab枕稀,所以mount可以找到它們酬蹋。但是/etc/fstab本身存在于文件系統(tǒng)中。因此抽莱,這類似雞生蛋蛋生雞的問題范抓。

為解決該問題,內(nèi)核開發(fā)者建立了內(nèi)核命令列表選項(xiàng) root=食铐,用來指定root文件系統(tǒng)存在于那個(gè)設(shè)備上匕垫。

之前root通常位于軟盤和硬盤上的分區(qū)。如今root文件系統(tǒng)可存在于各種不同類型的硬盤中虐呻,如flash等等象泵。同時(shí)root文件系統(tǒng)也可能被進(jìn)行各種形式的壓縮,加密等等斟叼。

如果在內(nèi)核中假如所有這些特殊案例偶惠,可以做到,但是就像用匯編語言寫web軟件朗涩。

解決方法

Linux2.6將一個(gè)小的ram-based initial root filesystem ( initramfs ) 包進(jìn)內(nèi)核忽孽,如果這個(gè)文件系統(tǒng)包含一個(gè)init程序,內(nèi)核將執(zhí)行它谢床。

Ramdisk

是一個(gè)基于ram的block device兄一,是一個(gè)大小固定的內(nèi)存快,可像disk一樣格式化和掛載识腿。Ramdisk像所有的block device一樣出革,它需要一個(gè)文件系統(tǒng)驅(qū)動(dòng)。此外還有一些弊端渡讼,比如如果ramdisk沒有滿骂束,那么它占有的額外內(nèi)存不能被使用;如果滿了成箫,那么不能進(jìn)行擴(kuò)展展箱。

由于caching,ramdisk浪費(fèi)了更多的內(nèi)存伟众。Linux設(shè)計(jì)為緩存所有從block device中讀取或?qū)懭氲奈募湍夸浳雠海瑀amdisk(實(shí)際上也是在內(nèi)存里)和caching一起,浪費(fèi)很多內(nèi)存。

Initrd

Boot loader Init Ram disk縮寫账胧,是一種機(jī)制竞慢,裝載一個(gè)臨時(shí)根文件系統(tǒng)到內(nèi)存中,作為Linux startup process的一部分治泥,為實(shí)際根文件系統(tǒng)的加載做準(zhǔn)備筹煮。

對(duì)于2.4或更早的kernel來說,使用的是該方法居夹。

Ramfs

后續(xù)Linux Torvalds有一個(gè)巧妙的想法:Linux的緩存是否可以被掛載為一個(gè)文件系統(tǒng)败潦,只要保持文件在緩存中,且不將它們清除准脂,直到它們被刪除或系統(tǒng)重啟劫扒。Linux寫了一個(gè)小段程序?qū)⒕彺姘饋恚Q為ramfs狸膏,其他kernel的開發(fā)者建立一個(gè)加強(qiáng)版稱為tmpfs(它可以寫數(shù)據(jù)到swap沟饥,及限制掛載點(diǎn)的大小)湾戳,initramfs就是tmpfs的一個(gè)實(shí)例贤旷。

Initramfs

Init ramfs縮寫,是一種機(jī)制砾脑,裝載一個(gè)臨時(shí)根文件系統(tǒng)到內(nèi)存中幼驶,作為Linux startup process的一部分,為實(shí)際根文件系統(tǒng)的加載做準(zhǔn)備韧衣。

比較:

(1)initrd通常是一個(gè)單獨(dú)的文件盅藻,initramfs通常和linux kernel映像在一起。

(2)Initrd進(jìn)行了gzip壓縮汹族,有文件系統(tǒng)格式萧求,比如ext2其兴,需要kernel包含對(duì)于的驅(qū)動(dòng)顶瞒。然而initramfs是一個(gè)gzip cpio壓縮,類似tar不過更簡單元旬。內(nèi)核的cpio提取代碼非常小榴徐。

(3) Initrd中的init會(huì)做一些設(shè)置,然后返回到kernel匀归。Initramfs中init不會(huì)返回到kernel坑资,它可能通過exec轉(zhuǎn)到其他根文件系統(tǒng)

(4)當(dāng)轉(zhuǎn)到其他根設(shè)備時(shí),initrd將pivot_root然后umount ramdisk穆端。但是initramfs是rootfs袱贮,即不需要pivot_root,又不需要umount体啰,只需要釋放所有空間攒巍,然后轉(zhuǎn)到其他rootfs即可嗽仪。

(1)?Linux內(nèi)核只人cpio格式的initramfs文件包(因?yàn)閡npack_to_rootfs只能解析cpio格式文件),非cpio格式的initramfs文件包將被系統(tǒng)拋棄柒莉,而initrd可以是cpio包也可以是傳統(tǒng)的鏡像(image)文件闻坚,實(shí)際使用中initrd都是傳統(tǒng)鏡像文件。

2) initramfs在編譯內(nèi)核的同時(shí)被編譯并與內(nèi)核連接成一個(gè)文件兢孝,它被鏈接到地址_initramfs_start處窿凤,與內(nèi)核同時(shí)被bootloader加載到ram中,而initrd另外單獨(dú)編譯生成的跨蟹,是一個(gè)獨(dú)立的文件雳殊,它由bootloader單獨(dú)加載到ram中內(nèi)核空間外的地址,比如加載的地址為addr(是物理地址而非虛擬地址)窗轩,大小為8MB相种,那么只要在命令行加入“initrd=addr" 8M” 命令,系統(tǒng)就可以找到initrd(當(dāng)然通過適當(dāng)修改Linux的目錄結(jié)構(gòu)品姓,makefile文件和相關(guān)代碼寝并,以上兩種情況都是可以相通的)。


總之腹备,initrd使用了ramdisk衬潦,initramfs使用了ramfs。Initramfs機(jī)制比initrd機(jī)制要優(yōu)越植酥,是一種新的實(shí)現(xiàn)方式镀岛。


cpio基本介紹

cpio是一個(gè)非常古老的歸檔工具。已逐漸被tar替代友驮,但是有些功能是tar不存在的漂羊,所以還是分享下它的用法。

cpio - copy files to and from archives

cpio用于創(chuàng)建卸留、解壓歸檔文件走越,也可以對(duì)歸檔文件進(jìn)行拷入拷出的動(dòng)作,即向歸檔文件中追加文件耻瑟,或從歸檔文件中提取文件旨指。它也支持tar格式的歸檔文件,但是對(duì)壓縮后的tar(如.tar.gz格式)就沒法支持了喳整,cpio畢竟不會(huì)調(diào)用對(duì)應(yīng)的(解)壓縮工具谆构。

cpio一般從標(biāo)準(zhǔn)輸入獲取數(shù)據(jù),寫入到標(biāo)準(zhǔn)輸出框都,所以一般會(huì)結(jié)合管道搬素、輸入重定向、輸出重定向使用。



重新建立 initramfs image文件

## mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

# dracut /boot/initramfs-$(uname -r).img $(uname -r)?


上面是之前的命令熬尺,運(yùn)行后何荚,reboot發(fā)現(xiàn)開機(jī)錯(cuò)誤,原因是# dracut /boot/initramfs-$(uname -r).img $(uname -r) 這個(gè)命令沒有執(zhí)行成功V砗肌2吞痢!或者是 disk-blacklist-nouveau.conf的問題(之前是blacklist.conf)皂吮。


現(xiàn)改為如下流程:

命令:lsmod | grep nouveau

這回終于可以安裝顯卡驅(qū)動(dòng)了戒傻!重復(fù)上面的安裝方法!7涑铩需纳!


命令:nvidia-smi

nvidia-docker run -it -p 8888:8888 --ipc=host -v /home/share:/share ufoym/deepo:all-py36-jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/share'


運(yùn)行jupyter book文件,terminal上安裝 seaborn:

pip install seaborn

發(fā)現(xiàn)沒有動(dòng)......

執(zhí)行:

systemctl stop firewalld.service

systemctl start smb.service

pip install seaborn 成功


書鐘聲敲艺挪,百煉成鋼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末不翩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子麻裳,更是在濱河造成了極大的恐慌口蝠,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件津坑,死亡現(xiàn)場(chǎng)離奇詭異妙蔗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)疆瑰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門眉反,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人穆役,你說我怎么就攤上這事寸五。” “怎么了耿币?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵梳杏,是天一觀的道長。 經(jīng)常有香客問我掰读,道長秘狞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任蹈集,我火速辦了婚禮,結(jié)果婚禮上雇初,老公的妹妹穿的比我還像新娘拢肆。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布郭怪。 她就那樣靜靜地躺著支示,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鄙才。 梳的紋絲不亂的頭發(fā)上颂鸿,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音攒庵,去河邊找鬼嘴纺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛浓冒,可吹牛的內(nèi)容都是我干的栽渴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼稳懒,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼闲擦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起场梆,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤墅冷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后或油,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俺榆,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年装哆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了罐脊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜕琴,死狀恐怖萍桌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凌简,我是刑警寧澤上炎,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站雏搂,受9級(jí)特大地震影響藕施,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凸郑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一裳食、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧芙沥,春花似錦诲祸、人聲如沸浊吏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽找田。三九已至,卻和暖如春着憨,著一層夾襖步出監(jiān)牢的瞬間墩衙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工甲抖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漆改,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓惧眠,卻偏偏與公主長得像籽懦,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子氛魁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容